{"version":3,"sources":["webpack:///webpack/bootstrap cefce9412a238d041c6d","webpack:///./~/@girder/girder_archive_access/~/daikon/src/parser.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/utils/common.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/utilities.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/data-stream.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/utils.js","webpack:///external \"girder_plugin_dicom_viewer\"","webpack:///./~/@girder/girder_archive_access/~/daikon/src/dictionary.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/image.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/iterator.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/tag.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/messages.js","webpack:///external \"girder_lib\"","webpack:///./~/@girder/girder_archive_access/~/daikon/lib/charLS-DynamicMemory-browser.js","webpack:///./~/@girder/girder_archive_access/~/daikon/lib/jpeg-baseline.js","webpack:///./~/@girder/girder_archive_access/~/daikon/lib/jpeg-ls.js","webpack:///./~/@girder/girder_archive_access/~/daikon/lib/jpx.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/compression-utils.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/orderedmap.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/rle.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/siemens.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/component-spec.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/frame-header.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/huffman-table.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/main.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/quantization-table.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/scan-component.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/scan-header.js","webpack:///./~/@girder/girder_archive_access/~/pako/index.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/utils/strings.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/adler32.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/constants.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/crc32.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/zstream.js","webpack:///./~/@girder/girder_archive_access/main.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/main.js","webpack:///./~/@girder/girder_archive_access/~/daikon/src/series.js","webpack:///./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/decoder.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/deflate.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/inflate.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/deflate.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/gzheader.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/inffast.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/inflate.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/inftrees.js","webpack:///./~/@girder/girder_archive_access/~/pako/lib/zlib/trees.js","webpack:///delegated ./node_modules/@girder/dicom-viewer/views/DicomView.js from dll-reference girder_plugin_dicom_viewer","webpack:///delegated ./node_modules/node-libs-browser/mock/empty.js from dll-reference girder_plugin_dicom_viewer","webpack:///delegated ./node_modules/path-browserify/index.js from dll-reference girder_plugin_dicom_viewer","webpack:///delegated ./src/models/FileModel.js from dll-reference girder_lib","webpack:///delegated ./src/rest.js from dll-reference girder_lib","webpack:///delegated ./node_modules/process/browser.js from dll-reference girder_plugin_dicom_viewer","webpack:///delegated ./src/utilities/PluginUtils.js from dll-reference girder_lib"],"names":["DicomFileModel","FileModel","extend","getSlice","_slice","url","get","id","data","path","xhrFields","responseType","then","resp","dataView","DataView","daikon","Series","parseImage","DicomItemView","initialize","settings","result","call","item","files","archivePath","forEach","file","idx","archiveId","_id","WrappedFileCollection","_files","constructor","model","listenTo","_onSelectionChanged"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA,2CAA2C,cAAc;;QAEzD;QACA;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;;;;;;;;;AChEA;AACA;;AAEa;;AAEb;AACA;AACA,6BAA6B,KAA8B,IAAI,mBAAO,CAAC,CAAU;AACjF,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAgB;AAC3F,2CAA2C,KAA8B,IAAI,mBAAO,CAAC,CAAiB;AACtG,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAY;;AAEvF,qBAAqB,KAA8B,IAAI,mBAAO,CAAC,EAAM;;;AAGrE;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,4BAA4B;;AAE5B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;AChaa;;;AAGb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;;AAE5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,4BAA4B,YAAY;AACxC,qBAAqB,8BAA8B;AACnD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACvGA;AACA;;AAEa;;AAEb;AACA;AACA;;;AAGA;;;AAGA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,qEAAqE;AACrE;;;AAGA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,yBAAyB;AAC5C;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;ACxTA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;;;AAGA;AACA;AACA,uDAAuD;AACvD;AACA,KAAK;AACL;AACA;AACA;AACA;;;;AAIA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;;;AAGA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;AC5FA,4C;;;;;;;;ACCA;AACA;;AAEa;;AAEb;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAgB;;;AAG3F;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC9nHA;AACA;;AAEa;;AAEb;AACA;AACA,6BAA6B,KAA8B,IAAI,mBAAO,CAAC,CAAU;AACjF,uDAAuD,KAA8B,IAAI,mBAAO,CAAC,EAAwB;AACzH,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAgB;AAC3F,6BAA6B,KAA8B,IAAI,mBAAO,CAAC,EAAU;;AAEjF,aAAa,KAA8B,IAAI,mBAAO,CAAC,EAA0B;AACjF,mCAAmC,KAA8B,IAAI,mBAAO,CAAC,EAAyB;AACtG,6BAA6B,KAA8B,IAAI,mBAAO,CAAC,EAAe;AACtF,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,EAAmB;;;AAGpG;;AAEA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4C;AACA;AACA,2D;AACA;AACA;;AAEA,mCAAmC,uBAAuB;AAC1D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,oBAAoB;AAC7C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA,yBAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA,yBAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA,yBAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA,yBAAyB,kBAAkB;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,CAAa;;AAE9F;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC,mDAAmD;;AAEnD;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,kBAAkB;AACvC;AACA;AACA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC5mDA;AACA;;AAEa;;AAEb;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACpCA;AACA;;AAEa;;AAEb;AACA;AACA,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAgB;AAC3F,2CAA2C,KAA8B,IAAI,mBAAO,CAAC,CAAiB;AACtG,qCAAqC,KAA8B,IAAI,mBAAO,CAAC,EAAc;;;AAG7F;;AAEA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,uCAAuC;AACrD,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA,iEAAiE;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA,iBAAiB,8CAA8C;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK,wBAAwB;AAC7B;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,aAAa;AAC9B;AACA,8BAA8B,MAAM;AACpC,SAAS;AACT;AACA;AACA;;AAEA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA,iFAAiF,MAAM,MAAM,iBAAiB,MAAM,MAAM;AAC1H,KAAK;AACL;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA,aAAa;AACb,2BAA2B,mBAAmB;AAC9C,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD;AACvD;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,4BAA4B;AAC1D,kCAAkC,0BAA0B;AAC5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,6BAA6B;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0EAA0E;AAC1E;AACA,8CAA8C,qCAAqC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA,6BAA6B,+CAA+C;AAC5E,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA,uCAAuC,mBAAmB;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,oBAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,4BAA4B;AAClE;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,YAAY;AACvC,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,4BAA4B;AAClE;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,YAAY;AACvC,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACv/BA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,yBAAyB,KAA8B,IAAI,mBAAO,CAAC,EAAwC;;AAE3G;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA,C;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,6CAA6C;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC,QAAQ;AACjD;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;AAC5B,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B,cAAc,kCAAkC;AAChD,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,kCAAkC;AAC9C,cAAc,iBAAiB;AAC/B,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,kCAAkC;AAC9C,cAAc,+BAA+B;AAC7C,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,yCAAyC;AACrD,cAAc,yCAAyC;AACvD,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA,kBAAkB,+BAA+B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA,cAAc,yCAAyC;AACvD,gBAAgB,yCAAyC;AACzD,kBAAkB,+BAA+B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,QAAQ;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC,uCAAuC;AACvC;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,+BAA+B;AAClD;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,QAAQ;AAC9D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA,OAAO,OAAO;AACd,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,qDAAqD,QAAQ;AAC7D;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qDAAqD,QAAQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,aAAa;AACrC,yBAAyB,WAAW;AACpC;AACA,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,iBAAiB;AACxD;AACA,yBAAyB,WAAW;AACpC,wCAAwC,mBAAmB;;AAE3D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC;AACA;AACA;AACA,yBAAyB,WAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;;AAEA;AACA;AACA,6BAA6B,WAAW;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,cAAc;AACtC;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA,OAAO;AACP,0BAA0B,YAAY;AACtC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA,OAAO;AACP,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD,yBAAyB,gBAAgB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C,yBAAyB,gBAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,KAAK;AACxC;AACA;;AAEA,mCAAmC,KAAK;AACxC;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,4CAA4C;AACjD,KAAK,4CAA4C;AACjD,KAAK,4CAA4C;AACjD,KAAK,6CAA6C;AAClD,KAAK,6CAA6C;AAClD,KAAK,8CAA8C;AACnD,KAAK,4CAA4C;AACjD,KAAK,6CAA6C;AAClD,KAAK,6CAA6C;AAClD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK,8CAA8C;AACnD,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,MAAM;AAC3B,mBAAmB,OAAO;AAC1B,sBAAsB,OAAO;AAC7B,qBAAqB,OAAO;AAC5B,qBAAqB,OAAO;AAC5B,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,aAAa,aAAa;AAC/C;AACA;AACA,oBAAoB,aAAa,aAAa;AAC9C;AACA;AACA,oBAAoB,cAAc,cAAc;AAChD;AACA;AACA;AACA,oBAAoB,aAAa,aAAa;AAC9C;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,iBAAiB,OAAO;AACxB,iBAAiB,OAAO;AACxB;AACA,aAAa;AACb,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB,MAAM;AAC1B,iBAAiB,MAAM;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,iBAAiB,OAAO;AACxB,iBAAiB,OAAO;AACxB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,GAAG;AACH,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,gBAAgB,EAAE;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,qBAAqB,qCAAqC;AAC1D;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qCAAqC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,2CAA2C,gBAAgB,EAAE;AAC7D;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,mDAAmD,gBAAgB,EAAE;AACrE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,6BAA6B,oBAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,aAAa,OAAO;AACpB,aAAa,KAAK;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,KAAK;AAClB,aAAa,MAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA,C;;;;;;;;ACj9HA;AACA;;AAEa;;AAEb;AACA;AACA;;;AAGA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA,qBAAqB,4DAA4D;AACjF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,C;;;;;;;;ACzDA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA,2DAA2D,KAA8B,IAAI,mBAAO,CAAC,CAAe;;;AAGpH;AACA;AACA;AACA;AACA;;;;AAIA;AACA,0BAA0B;AAC1B;AACA,KAAK,OAAO;AACZ;AACA,8CAA8C,sCAAsC,EAAE;AACtF;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC7EA;AACA;;AAEa;;AAEb;AACA;;;AAGA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;;AAGA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,mCAAmC;AACxC;AACA;;AAEA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC9MA;AACA;;AAEa;;AAEb;AACA;AACA,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAgB;;;AAG3F;;AAEA;AACA;AACA,YAAY,YAAY;AACxB,UAAU;AACV;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,yBAAyB,+CAA+C;AACxE;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,gBAAgB;;AAEhB,iBAAiB,eAAe;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;;AAEA,gBAAgB;;AAEhB;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,gBAAgB;;AAEhB;;AAEA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;ACzLA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;;;AAGA;AACA;AACA,mBAAmB;AACnB,2BAA2B;AAC3B,mBAAmB;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;AACA,+DAA+D,KAA8B,IAAI,mBAAO,CAAC,EAAqB;AAC9H,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,CAAkB;;;AAGrH;AACA;AACA,yBAAyB;AACzB,kBAAkB;AAClB,kBAAkB;AAClB,qBAAqB;AACrB,uBAAuB;AACvB;;;;AAIA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;AACA,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,CAAkB;AACrH,+CAA+C,KAA8B,IAAI,mBAAO,CAAC,CAAY;;;AAGrG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,QAAQ;AAC3B;AACA;AACA;;AAEA,mBAAmB,QAAQ;AAC3B,uBAAuB,qBAAqB;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,OAAO,QAAQ;AAC9B,mBAAmB,UAAU;AAC7B,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;;AAEA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA,eAAe,QAAQ,QAAQ;AAC/B,mBAAmB,UAAU;AAC7B,uBAAuB,uBAAuB;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;ACzLA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;;AAGA,+DAA+D,KAA8B,IAAI,mBAAO,CAAC,EAAqB;AAC9H,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,CAAkB;AACrH,mDAAmD,KAA8B,IAAI,mBAAO,CAAC,EAAc;AAC3G,2DAA2D,KAA8B,IAAI,mBAAO,CAAC,EAAmB;AACxH,6DAA6D,KAA8B,IAAI,mBAAO,CAAC,EAAoB;AAC3H,uEAAuE,KAA8B,IAAI,mBAAO,CAAC,EAAyB;AAC1I,+DAA+D,KAA8B,IAAI,mBAAO,CAAC,EAAqB;AAC9H,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,EAAkB;AACrH,+CAA+C,KAA8B,IAAI,mBAAO,CAAC,CAAY;;;AAGrG;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;AACA,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,CAAkB;AACrH,+CAA+C,KAA8B,IAAI,mBAAO,CAAC,CAAY;;;AAGrG;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,8DAA8D;;AAE9D;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;;AAEA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,QAAQ;AACvB;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT,uBAAuB,QAAQ;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;;;AAGA;AACA;AACA,sBAAsB;AACtB,sBAAsB;AACtB,yBAAyB;AACzB;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;AACA,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,CAAkB;AACrH,+DAA+D,KAA8B,IAAI,mBAAO,CAAC,EAAqB;;;AAG9H;AACA;AACA;AACA;AACA,qBAAqB;AACrB,uBAAuB;AACvB,yBAAyB;AACzB;AACA;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;AC5GA;AACa;;AAEb,gBAAgB,mBAAO,CAAC,CAAoB;;AAE5C,gBAAgB,mBAAO,CAAC,EAAe;AACvC,gBAAgB,mBAAO,CAAC,EAAe;AACvC,gBAAgB,mBAAO,CAAC,EAAsB;;AAE9C;;AAEA;;AAEA;;;;;;;;ACbA;AACa;;;AAGb,YAAY,mBAAO,CAAC,CAAU;;;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,wCAAwC,EAAE,aAAa,sBAAsB;AAClF,KAAK,oDAAoD,EAAE,aAAa,0BAA0B;;;AAGlG;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA,kCAAkC;;;AAGlC;AACA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,aAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,mCAAmC,SAAS;AAC5C;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA,mBAAmB,qBAAqB,UAAU;;AAElD;AACA;AACA,oBAAoB,0BAA0B,gBAAgB,UAAU;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B,UAAU;;AAExD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,kBAAkB;;AAE3C;AACA;AACA,kDAAkD,OAAO;;AAEzD;AACA;AACA,gBAAgB,YAAY;;AAE5B;AACA;AACA,kBAAkB,YAAY;;AAE9B;AACA;;;;;;;;AC1La;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;;AAGA;;;;;;;;AClDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACnEa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;;AAEA,sBAAsB;AACtB;;;AAGA;;;;;;;;AC1Da;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KC9CA;;;AACA;;;;AAEA;;;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,yCAAiBC,oBAAUC,MAAV,CAAiB;AACpCC,cAAU,oBAAY;AAAA;AAAA;;AAClB,YAAI,CAAC,KAAKC,MAAV,EAAkB;AAAA;AAAA;;AACd;AACA,iBAAKA,MAAL,GAAc,uBAAY;AACtBC,qBAAK,KAAKC,GAAL,CAAS,aAAT,yCAAkC,KAAKA,GAAL,CAAS,WAAT,CAAlC,+DAAqF,KAAKC,EAA1F,eADiB;AAEtBC,sBAAM,KAAKF,GAAL,CAAS,aAAT,+BAA0B,EAAEG,MAAM,KAAKH,GAAL,CAAS,aAAT,CAAR,EAA1B,+BAA8D,EAA9D,CAFgB;AAGtBI,2BAAW;AACPC,kCAAc;AADP;AAHW,aAAZ,EAOTC,IAPS,CAOJ,UAACC,IAAD,EAAU;AAAA;;AACZ,oBAAMC,mCAAW,IAAIC,QAAJ,CAAaF,IAAb,CAAX,CAAN;AADY;AAEZ,uBAAOG,iBAAOC,MAAP,CAAcC,UAAd,CAAyBJ,QAAzB,CAAP;AACH,aAVS,CAAd;AAWH,SAbD;AAAA;AAAA;AADkB;AAelB,eAAO,KAAKV,MAAZ;AACH;AAjBmC,CAAjB,CAAjB,CAAN;;;AAoBA,uBAAKe,mBAAL,EAAoB,YAApB,EAAkC,UAAUC,UAAV,EAAsBC,QAAtB,EAAgC;AAAA;;AAC9D,QAAMC,iCAASF,WAAWG,IAAX,CAAgB,IAAhB,EAAsBF,QAAtB,CAAT,CAAN;AAD8D;AAE9D,QAAIA,SAASG,IAAT,CAAclB,GAAd,CAAkB,OAAlB,EAA2BmB,KAA3B,CAAiC,CAAjC,EAAoCC,WAAxC,EAAqD;AAAA;;AACjD,YAAID,gCAAQJ,SAASG,IAAT,CAAclB,GAAd,CAAkB,OAAlB,EAA2BmB,KAAnC,CAAJ;AADiD;AAEjDA,cAAME,OAAN,CAAc,UAAUC,IAAV,EAAgBC,GAAhB,EAAqB;AAAA;AAAA;;AAC/BD,iBAAKE,SAAL,GAAiBF,KAAKG,GAAtB;AAD+B;AAE/BH,iBAAKG,GAAL,GAAWF,GAAX;AACH,SAHD;AAIA,YAAMG,iDAAwB,KAAKC,MAAL,CAAYC,WAAZ,CAAwBhC,MAAxB,CAA+B;AACzDiC,mBAAOnC;AADkD,SAA/B,CAAxB,CAAN;AANiD;AASjD,aAAKiC,MAAL,GAAc,IAAID,qBAAJ,CAA0BP,KAA1B,CAAd;AATiD;AAUjD,aAAKW,QAAL,CAAc,KAAKH,MAAnB,EAA2B,YAA3B,EAAyC,KAAKI,mBAA9C;AACH,KAXD;AAAA;AAAA;AAF8D;AAc9D,WAAOf,MAAP;AACH,CAfD,E;;;;;;;;AC5BA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA,uDAAuD,KAA8B,IAAI,mBAAO,CAAC,EAAwB;AACzH,2CAA2C,KAA8B,IAAI,mBAAO,CAAC,CAAiB;AACtG,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAY;AACvF,2DAA2D,KAA8B,IAAI,mBAAO,CAAC,CAAe;AACpH,2CAA2C,KAA8B,IAAI,mBAAO,CAAC,EAAiB;AACtG,mCAAmC,KAA8B,IAAI,mBAAO,CAAC,CAAa;AAC1F,6BAA6B,KAA8B,IAAI,mBAAO,CAAC,EAAU;AACjF,mCAAmC,KAA8B,IAAI,mBAAO,CAAC,EAAa;AAC1F,6BAA6B,KAA8B,IAAI,mBAAO,CAAC,CAAU;AACjF,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAgB;AAC3F,qCAAqC,KAA8B,IAAI,mBAAO,CAAC,EAAc;;AAE7F;AACA;AACA,0BAA0B,KAA8B,IAAI,mBAAO,CAAC,EAA0B;;AAE9F,mCAAmC,KAA8B,IAAI,mBAAO,CAAC,EAAyB;;AAEtG,6BAA6B,KAA8B,IAAI,mBAAO,CAAC,EAAe;;AAEtF,yBAAyB,KAA8B,IAAI,mBAAO,CAAC,EAAwC;AAC3G,uCAAuC,KAA8B,IAAI,mBAAO,CAAC,EAAmB;;AAEpG,qBAAqB,KAA8B,IAAI,mBAAO,CAAC,EAAM;;AAErE;;AAEA;AACA;AACA;AACA;;;;;;;;;AC3CA;AACA;;AAEa;;AAEb;AACA;AACA,mCAAmC,KAA8B,IAAI,mBAAO,CAAC,CAAa;AAC1F,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAY;AACvF,2CAA2C,KAA8B,IAAI,mBAAO,CAAC,EAAiB;AACtG,2DAA2D,KAA8B,IAAI,mBAAO,CAAC,CAAe;AACpH,iCAAiC,KAA8B,IAAI,mBAAO,CAAC,CAAgB;;;AAG3F;;AAEA;AACA;AACA,cAAc,eAAe;AAC7B,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,iBAAiB,qBAAqB;AACtC;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;;AAEA,mBAAmB,4CAA4C;AAC/D;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mDAAmD;AACnD,qBAAqB,qBAAqB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;;AAEA,iBAAiB,uCAAuC;AACxD;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,aAAa;AACxB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA,uDAAuD;AACvD;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oEAAoE;AACpE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mDAAmD,sFAAsF;AACzI;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA,uDAAuD;AACvD,6CAA6C;AAC7C;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC,sBAAsB,gBAAgB;AACtC,0BAA0B,gBAAgB;AAC1C;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;;;;;;ACtkBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEa;;AAEb;AACA;AACA;AACA,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,CAAkB;AACrH,6DAA6D,KAA8B,IAAI,mBAAO,CAAC,EAAoB;AAC3H,uEAAuE,KAA8B,IAAI,mBAAO,CAAC,EAAyB;AAC1I,yDAAyD,KAA8B,IAAI,mBAAO,CAAC,EAAkB;AACrH,2DAA2D,KAA8B,IAAI,mBAAO,CAAC,EAAmB;AACxH,+CAA+C,KAA8B,IAAI,mBAAO,CAAC,CAAY;;;AAGrG;;AAEA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA,qBAAqB;AACrB,wDAAwD;AACxD,wDAAwD;AACxD,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA;;AAEA;;AAEA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA,sBAAsB;AACtB;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;;AAEA,4BAA4B,+BAA+B;AAC3D;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;AACA,KAAK;;AAEL;AACA;;;;AAIA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C,uBAAuB,6BAA6B;AACpD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA,mEAAmE;AACnE;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iC;AACA;;AAEA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,2F;AACA;AACA,C;AACA;AACA;AACA;AACA,2E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;;;;;;;ACp1Ba;;;AAGb,mBAAmB,mBAAO,CAAC,EAAgB;AAC3C,mBAAmB,mBAAO,CAAC,CAAgB;AAC3C,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA,8BAA8B;AAC9B;AACA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;;AAElB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB;AAClB,mBAAmB;AACnB,sBAAsB;AACtB,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,cAAc;;AAEjC;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,yCAAyC;;AAE9D;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;;;;;;AC/Ya;;;AAGb,mBAAmB,mBAAO,CAAC,EAAgB;AAC3C,mBAAmB,mBAAO,CAAC,CAAgB;AAC3C,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,mBAAmB,mBAAO,CAAC,EAAkB;AAC7C,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,mBAAmB,mBAAO,CAAC,EAAgB;AAC3C,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA,8BAA8B;AAC9B;AACA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,eAAe;;AAElB;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB,mBAAmB;AACnB,sBAAsB;AACtB,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,cAAc;AACjC;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,kEAAkE;;AAEvF;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,yCAAyC;;AAE9D;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;;;;;;ACtaa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,CAAiB;AACvC,cAAc,mBAAO,CAAC,EAAS;AAC/B,cAAc,mBAAO,CAAC,EAAW;AACjC,cAAc,mBAAO,CAAC,EAAS;AAC/B,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;;;AAGA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;;;AAGA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;;AAE1B,mBAAmB;;AAEnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,sBAAsB,qBAAqB,cAAc,EAAE;;;AAG/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B,kBAAkB,UAAU;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,wBAAwB;AACxB,YAAY;AACZ,UAAU;AACV,+BAA+B;AAC/B,gCAAgC;AAChC;AACA;;AAEA,sBAAsB;;AAEtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0BAA0B;;AAE3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;;AAEnE;AACA,yDAAyD;AACzD;;AAEA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,aAAa;;AAEb;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,mBAAmB;;AAEnB;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB;AACnB,kBAAkB;AAClB,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,mBAAmB;AACnB,gBAAgB;AAChB,qBAAqB;AACrB,mBAAmB;AACnB,2BAA2B;AAC3B,uBAAuB;;AAEvB,kBAAkB;AAClB,kBAAkB;AAClB,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;;AAEnB,iBAAiB;AACjB,qBAAqB;AACrB,qBAAqB;AACrB,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB,sBAAsB;AACtB,2BAA2B;AAC3B,oBAAoB;AACpB,uBAAuB;AACvB,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,oBAAoB;;AAEpB;AACA;;AAEA,sBAAsB;;AAEtB;;AAEA;;AAEA,2CAA2C;AAC3C,6CAA6C;AAC7C,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB;AACvB,uBAAuB;AACvB,uBAAuB;;AAEvB;AACA;AACA;;AAEA,0BAA0B;AAC1B,+CAA+C;AAC/C;;AAEA,oBAAoB;AACpB,oBAAoB;AACpB;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB,sBAAsB;AACtB,mBAAmB;AACnB,kBAAkB;;;AAGlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,6BAA6B,uBAAuB;AACpD,8BAA8B,uBAAuB;AACrD;AACA;AACA;;;AAGA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB,sCAAsC;;AAEtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB,qBAAqB;AACrB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B,2BAA2B,aAAa;AACxC,oBAAoB,qBAAqB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;AACA;;AAEA,aAAa;;AAEb;AACA;AACA,qBAAqB;AACrB,yBAAyB;AACzB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACj1Da;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW;AACX,WAAW;AACX,UAAU;AACV,UAAU;AACV;AACA,WAAW;AACX;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ;AACA,eAAe;AACf,WAAW;AACX,WAAW;AACX,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,SAAS;AACT;AACA,UAAU;AACV,WAAW;AACX,WAAW;AACX;;;AAGA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,gCAAgC;AAChC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB,qCAAqC;AACrC;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,qBAAqB;AACrB,uCAAuC;AACvC;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,kBAAkB;AAClB;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxVa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,mBAAO,CAAC,CAAiB;AAC7C,oBAAoB,mBAAO,CAAC,EAAW;AACvC,oBAAoB,mBAAO,CAAC,EAAS;AACrC,oBAAoB,mBAAO,CAAC,EAAW;AACvC,oBAAoB,mBAAO,CAAC,EAAY;;AAExC;AACA;AACA;;AAEA;AACA;;;AAGA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;;AAGA,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,cAAc;AACd,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,mBAAmB;AACnB,gBAAgB;AAChB,mBAAmB;AACnB,iBAAiB;AACjB,qBAAqB;AACrB,uBAAuB;AACvB,uBAAuB;AACvB,sBAAsB;AACtB,qBAAqB;AACrB,sBAAsB;AACtB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,wBAAwB;AACxB,2BAA2B;AAC3B,yBAAyB;AACzB,4BAA4B;AAC5B,0BAA0B;AAC1B,wBAAwB;AACxB,kBAAkB;AAClB,mBAAmB;AACnB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;;AAEjB;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,gBAAgB;AAChB,oBAAoB;AACpB,gBAAgB;AAChB,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB;AACA,mBAAmB;;AAEnB;AACA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,qBAAqB;;AAErB;AACA,gBAAgB;AAChB,gBAAgB;;AAEhB;AACA,kBAAkB;AAClB,kBAAkB;;AAElB;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;AACtB,uBAAuB;AACvB,mBAAmB;AACnB,oBAAoB;;AAEpB;AACA,iBAAiB;AACjB,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,mBAAmB;;AAEnB,mCAAmC;AACnC,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,sBAAsB;AACtB,gBAAgB;AAChB,gBAAgB;AAChB,eAAe;AACf;;AAEA;AACA;;AAEA,6BAA6B,uBAAuB;AACpD;AACA;AACA,gBAAgB;AAChB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,uBAAuB;AACpD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,uBAAuB;AACrC,sBAAsB;;AAEtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;;AAE9C,uEAAuE,UAAU;;AAEjF;AACA;AACA,sBAAsB,uBAAuB;;AAE7C,uEAAuE,UAAU;;AAEjF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAiB;AACzD,sCAAsC,qBAAqB;AAC3D;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB,WAAW;AACX,UAAU;AACV,iBAAiB;AACjB,WAAW;AACX,WAAW;AACX,gBAAgB;AAChB,WAAW;AACX,WAAW;AACX;AACA,eAAe;AACf,mCAAmC;AACnC,aAAa;AACb,mCAAmC;AACnC,UAAU;AACV,UAAU;AACV,+BAA+B;AAC/B;;AAEA,QAAQ;;AAER;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB,EAAE;;;AAGnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iBAAiB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC,4BAA4B,aAAa;AACzC,2BAA2B,iBAAiB;AAC5C,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,oEAAoE;AACpE;AACA;AACA;;AAEA,sCAAsC,OAAO;AAC7C;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC,OAAO;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,kEAAkE;AAClE;AACA;AACA;;AAEA,kCAAkC,OAAO;AACzC;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,OAAO;AACzD;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,oEAAoE;AACpE;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,OAAO;AACzD;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,qBAAqB;AAC3D,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,qCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,qBAAqB;AACzD;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA;AACA,SAAS;AACT,iCAAiC,kBAAkB;AACnD;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6BAA6B,uBAAuB;AACpD;AACA,+BAA+B,uBAAuB;;AAEtD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6DAA6D,uBAAuB;AACpF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnhDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,mBAAO,CAAC,CAAiB;;AAErC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB,cAAc;AACd,cAAc;AACd,uBAAuB;AACvB,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,WAAW;AACX,WAAW;AACX,UAAU;AACV,WAAW;AACX,WAAW;AACX,kBAAkB;AAClB;AACA,iBAAiB;AACjB,UAAU;AACV,2CAA2C,eAAe;AAC1D,0CAA0C,eAAe;AACzD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA,eAAe,aAAa;AAC5B;AACA;;AAEA;AACA;AACA,qBAAqB,UAAU;AAC/B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA,kBAAkB;AAClB,sCAAsC,2BAA2B;AACjE,uCAAuC;AACvC,wCAAwC;AACxC;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA,eAAe,WAAW;AAC1B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;;AAEA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG,OAAO;AACV;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,UAAU;AACV,YAAY;AACZ,qBAAqB;AACrB,cAAc;AACd,WAAW;AACX,WAAW;AACX,mBAAmB;AACnB,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACtVa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,YAAY,mBAAO,CAAC,CAAiB;;AAErC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;;AAEA;;;AAGA,oBAAoB,sBAAsB,qBAAqB,cAAc,EAAE;;AAE/E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA,kCAAkC;AAClC,iCAAiC;AACjC,iCAAiC;AACjC,4BAA4B;AAC5B,iCAAiC;;AAEjC;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA,2BAA2B;AAC3B,oBAAoB;AACpB,6BAA6B;AAC7B;;;;AAIA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,WAAW;AACX,WAAW;AACX,YAAY;AACZ,QAAQ;AACR,mBAAmB;;AAEnB,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;;AAE/C,0BAA0B,eAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,UAAU,EAAE;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;;AAE/B;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C,uBAAuB;AACvB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB,qBAAqB;AACrB;AACA,0CAA0C;AAC1C,eAAe;AACf,WAAW;AACX,QAAQ;;AAER;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,gBAAgB;AAC7B;AACA,oBAAoB,UAAU;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ;AACR,WAAW;AACX,aAAa;AACb,WAAW;AACX,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,yBAAyB;AACzC;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;AACA,aAAa;AACb,QAAQ,gBAAgB;AACxB;AACA,eAAe,oCAAoC;AACnD;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA,aAAa,aAAa,QAAQ,iCAAiC;AACnE,aAAa,aAAa,QAAQ,iCAAiC;AACnE,aAAa,cAAc,OAAO,+BAA+B;;AAEjE;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,eAAe;AACf,kBAAkB;AAClB;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,YAAY;AACZ;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;;AAEtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B;AACA,WAAW;AACX,SAAS;AACT,aAAa;AACb,WAAW;AACX,YAAY;;AAEZ;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,OAAO;AACP;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,kCAAkC;AAClC;AACA,eAAe;AACf;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;AACA,oCAAoC;AACpC;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,oBAAoB;AACpB,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,WAAW;AACxB;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,QAAQ,OAAO,wBAAwB;;AAE9E;AACA;AACA;AACA,eAAe;AACf;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA,8BAA8B;;AAE9B,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB;AACA,QAAQ;AACR,mBAAmB;AACnB,aAAa;;AAEb,wCAAwC;;AAExC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;;AAEL,+BAA+B,kCAAkC;AACjE;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB;AACA,QAAQ;AACR,mBAAmB;AACnB,aAAa;;AAEb,wCAAwC;;AAExC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;;AAEpB,+BAA+B;AAC/B;AACA;AACA;AACA;;AAEA,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;;AAEA,KAAK;AACL,UAAU,iCAAiC,EAAE;;AAE7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,gCAAgC;AAChC,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;;AAEA,wCAAwC;AACxC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI,MAAM,GAAG,MAAM,GAAG;AAChD;AACA;AACA;AACA,SAAS,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,IAAI;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,iBAAiB;AACjB,WAAW;AACX;AACA,wDAAwD;AACxD,uCAAuC;AACvC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,iBAAiB;AACjB,WAAW;AACX;AACA,4BAA4B;AAC5B,sBAAsB;;AAEtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC,wBAAwB;;AAE1D,GAAG;AACH;AACA,4CAA4C;AAC5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,kBAAkB;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACrsCA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,+C;;;;;;ACAA,8C;;;;;;ACAA,8C;;;;;;ACAA,+C","file":"plugin.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/built/\";\n\n \t__webpack_require__(33);\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 52);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap cefce9412a238d041c6d","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.Tag = daikon.Tag || ((typeof require !== 'undefined') ? require('./tag.js') : null);\ndaikon.Utils = daikon.Utils || ((typeof require !== 'undefined') ? require('./utilities.js') : null);\ndaikon.Dictionary = daikon.Dictionary || ((typeof require !== 'undefined') ? require('./dictionary.js') : null);\ndaikon.Image = daikon.Image || ((typeof require !== 'undefined') ? require('./image.js') : null);\n\nvar pako = pako || ((typeof require !== 'undefined') ? require('pako') : null);\n\n\n/*** Constructor ***/\n\n/**\n * The Parser constructor.\n * @property {boolean} explicit\n * @property {boolean} littleEndian\n * @type {Function}\n */\ndaikon.Parser = daikon.Parser || function () {\n this.littleEndian = true;\n this.explicit = true;\n this.metaFound = false;\n this.metaFinished = false;\n this.metaFinishedOffset = -1;\n this.needsDeflate = false;\n this.inflated = null;\n this.encapsulation = false;\n this.level = 0;\n this.error = null;\n};\n\n\n/*** Static Fields ***/\n\n/**\n * Global property to output string representation of tags as they are parsed.\n * @type {boolean}\n */\ndaikon.Parser.verbose = false;\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.Parser.MAGIC_COOKIE_OFFSET = 128;\ndaikon.Parser.MAGIC_COOKIE = [68, 73, 67, 77];\ndaikon.Parser.VRS = [\"AE\", \"AS\", \"AT\", \"CS\", \"DA\", \"DS\", \"DT\", \"FL\", \"FD\", \"IS\", \"LO\", \"LT\", \"OB\", \"OD\", \"OF\", \"OW\", \"PN\", \"SH\", \"SL\", \"SS\", \"ST\", \"TM\", \"UI\", \"UL\", \"UN\", \"US\", \"UT\"];\ndaikon.Parser.DATA_VRS = [\"OB\", \"OW\", \"OF\", \"SQ\", \"UT\", \"UN\"];\ndaikon.Parser.RAW_DATA_VRS = [\"OB\", \"OD\", \"OF\", \"OW\", \"UN\"];\ndaikon.Parser.TRANSFER_SYNTAX_IMPLICIT_LITTLE = \"1.2.840.10008.1.2\";\ndaikon.Parser.TRANSFER_SYNTAX_EXPLICIT_LITTLE = \"1.2.840.10008.1.2.1\";\ndaikon.Parser.TRANSFER_SYNTAX_EXPLICIT_BIG = \"1.2.840.10008.1.2.2\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG = \"1.2.840.10008.1.2.4\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LOSSLESS = \"1.2.840.10008.1.2.4.57\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LOSSLESS_SEL1 = \"1.2.840.10008.1.2.4.70\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_BASELINE_8BIT = \"1.2.840.10008.1.2.4.50\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_BASELINE_12BIT = \"1.2.840.10008.1.2.4.51\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LS_LOSSLESS = \"1.2.840.10008.1.2.4.80\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LS = \"1.2.840.10008.1.2.4.81\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_2000_LOSSLESS = \"1.2.840.10008.1.2.4.90\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_2000 = \"1.2.840.10008.1.2.4.91\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_RLE = \"1.2.840.10008.1.2.5\";\ndaikon.Parser.TRANSFER_SYNTAX_COMPRESSION_DEFLATE = \"1.2.840.10008.1.2.1.99\";\ndaikon.Parser.UNDEFINED_LENGTH = 0xFFFFFFFF;\n\n\n/*** Static Methods ***/\n\n/**\n * Returns true if the DICOM magic cookie is found.\n * @param {DataView} data\n * @returns {boolean}\n */\ndaikon.Parser.isMagicCookieFound = function (data) {\n var offset = daikon.Parser.MAGIC_COOKIE_OFFSET, magicCookieLength = daikon.Parser.MAGIC_COOKIE.length, ctr;\n\n for (ctr = 0; ctr < magicCookieLength; ctr += 1) {\n if (data.getUint8(offset + ctr) !== daikon.Parser.MAGIC_COOKIE[ctr]) {\n return false;\n }\n }\n\n return true;\n};\n\n\n/*** Prototype Methods ***/\n\n/**\n * Parses this data and returns an image object.\n * @param {DataView} data\n * @returns {daikon.Image|null}\n */\ndaikon.Parser.prototype.parse = function (data) {\n var image = null, offset, tag, copyMeta, copyDeflated;\n\n try {\n image = new daikon.Image();\n offset = this.findFirstTagOffset(data);\n tag = this.getNextTag(data, offset);\n\n while (tag !== null) {\n if (daikon.Parser.verbose) {\n console.log(tag.toString());\n }\n\n image.putTag(tag);\n\n if (tag.isPixelData()) {\n break;\n }\n\n if (this.needsDeflate && (tag.offsetEnd >= this.metaFinishedOffset)) {\n this.needsDeflate = false;\n copyMeta = data.buffer.slice(0, tag.offsetEnd);\n copyDeflated = data.buffer.slice(tag.offsetEnd);\n this.inflated = daikon.Utils.concatArrayBuffers(copyMeta, pako.inflateRaw(copyDeflated));\n data = new DataView(this.inflated);\n }\n\n tag = this.getNextTag(data, tag.offsetEnd);\n }\n } catch (err) {\n this.error = err;\n }\n\n if (image !== null) {\n image.littleEndian = this.littleEndian;\n }\n\n return image;\n};\n\n\n\ndaikon.Parser.prototype.parseEncapsulated = function (data) {\n var offset = 0, tag, tags = [];\n\n this.encapsulation = true;\n\n try {\n tag = this.getNextTag(data, offset);\n\n while (tag !== null) {\n if (tag.isSublistItem()) {\n tags.push(tag);\n }\n\n if (daikon.Parser.verbose) {\n console.log(tag.toString());\n }\n\n tag = this.getNextTag(data, tag.offsetEnd);\n }\n } catch (err) {\n this.error = err;\n\n }\n\n return tags;\n};\n\n\n\ndaikon.Parser.prototype.testForValidTag = function (data) {\n var offset, tag = null;\n\n try {\n offset = this.findFirstTagOffset(data);\n tag = this.getNextTag(data, offset, false);\n } catch (err) {\n this.error = err;\n }\n\n return tag;\n};\n\n\n\ndaikon.Parser.prototype.getNextTag = function (data, offset, testForTag) {\n var group = 0, element, value = null, offsetStart = offset, offsetValue, length = 0, little = true, vr = null, tag;\n\n if (offset >= data.byteLength) {\n return null;\n }\n\n if (this.metaFinished) {\n little = this.littleEndian;\n group = data.getUint16(offset, little);\n } else {\n group = data.getUint16(offset, true);\n\n if (((this.metaFinishedOffset !== -1) && (offset >= this.metaFinishedOffset)) || (group !== 0x0002)) {\n this.metaFinished = true;\n little = this.littleEndian;\n group = data.getUint16(offset, little);\n } else {\n little = true;\n }\n }\n\n if (!this.metaFound && (group === 0x0002)) {\n this.metaFound = true;\n }\n\n offset += 2;\n\n element = data.getUint16(offset, little);\n offset += 2;\n\n if (this.explicit || !this.metaFinished) {\n vr = daikon.Utils.getStringAt(data, offset, 2);\n\n if (!this.metaFound && this.metaFinished && (daikon.Parser.VRS.indexOf(vr) === -1)) {\n vr = daikon.Dictionary.getVR(group, element);\n length = data.getUint32(offset, little);\n offset += 4;\n this.explicit = false;\n } else {\n offset += 2;\n\n if (daikon.Parser.DATA_VRS.indexOf(vr) !== -1) {\n offset += 2; // skip two empty bytes\n\n length = data.getUint32(offset, little);\n offset += 4;\n } else {\n length = data.getUint16(offset, little);\n offset += 2;\n }\n }\n } else {\n vr = daikon.Dictionary.getVR(group, element);\n length = data.getUint32(offset, little);\n\n if (length === daikon.Parser.UNDEFINED_LENGTH) {\n vr = 'SQ';\n }\n\n offset += 4;\n }\n\n offsetValue = offset;\n\n var isPixelData = ((group === daikon.Tag.TAG_PIXEL_DATA[0]) && (element === daikon.Tag.TAG_PIXEL_DATA[1]));\n\n if ((vr === 'SQ') || (!isPixelData && !this.encapsulation && (daikon.Parser.DATA_VRS.indexOf(vr) !== -1))) {\n value = this.parseSublist(data, offset, length, vr !== 'SQ');\n\n if (length === daikon.Parser.UNDEFINED_LENGTH) {\n length = value[value.length - 1].offsetEnd - offset;\n }\n } else if ((length > 0) && !testForTag) {\n if (length === daikon.Parser.UNDEFINED_LENGTH) {\n if (isPixelData) {\n length = (data.byteLength - offset);\n }\n }\n\n value = data.buffer.slice(offset, offset + length);\n }\n\n offset += length;\n tag = new daikon.Tag(group, element, vr, value, offsetStart, offsetValue, offset, this.littleEndian);\n\n if (tag.isTransformSyntax()) {\n if (tag.value[0] === daikon.Parser.TRANSFER_SYNTAX_IMPLICIT_LITTLE) {\n this.explicit = false;\n this.littleEndian = true;\n } else if (tag.value[0] === daikon.Parser.TRANSFER_SYNTAX_EXPLICIT_BIG) {\n this.explicit = true;\n this.littleEndian = false;\n } else if (tag.value[0] === daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_DEFLATE) {\n this.needsDeflate = true;\n this.explicit = true;\n this.littleEndian = true;\n } else {\n this.explicit = true;\n this.littleEndian = true;\n }\n } else if (tag.isMetaLength()) {\n this.metaFinishedOffset = tag.value[0] + offset;\n }\n\n return tag;\n};\n\n\n\ndaikon.Parser.prototype.parseSublist = function (data, offset, length, raw) {\n var sublistItem,\n offsetEnd = offset + length,\n tags = [];\n\n this.level++;\n\n if (length === daikon.Parser.UNDEFINED_LENGTH) {\n sublistItem = this.parseSublistItem(data, offset, raw);\n\n while (!sublistItem.isSequenceDelim()) {\n tags.push(sublistItem);\n offset = sublistItem.offsetEnd;\n sublistItem = this.parseSublistItem(data, offset, raw);\n }\n\n tags.push(sublistItem);\n } else {\n while (offset < offsetEnd) {\n sublistItem = this.parseSublistItem(data, offset, raw);\n tags.push(sublistItem);\n offset = sublistItem.offsetEnd;\n }\n }\n\n this.level--;\n\n return tags;\n};\n\n\n\ndaikon.Parser.prototype.parseSublistItem = function (data, offset, raw) {\n var group, element, length, offsetEnd, tag, offsetStart = offset, value = null, offsetValue, sublistItemTag, tags = [];\n\n group = data.getUint16(offset, this.littleEndian);\n offset += 2;\n\n element = data.getUint16(offset, this.littleEndian);\n offset += 2;\n\n length = data.getUint32(offset, this.littleEndian);\n offset += 4;\n\n offsetValue = offset;\n\n if (length === daikon.Parser.UNDEFINED_LENGTH) {\n tag = this.getNextTag(data, offset);\n\n while (!tag.isSublistItemDelim()) {\n tags.push(tag);\n offset = tag.offsetEnd;\n tag = this.getNextTag(data, offset);\n }\n\n tags.push(tag);\n offset = tag.offsetEnd;\n } else if (raw) {\n value = data.buffer.slice(offset, offset + length);\n offset = offset + length;\n } else {\n offsetEnd = offset + length;\n\n while (offset < offsetEnd) {\n tag = this.getNextTag(data, offset);\n tags.push(tag);\n offset = tag.offsetEnd;\n }\n }\n\n sublistItemTag = new daikon.Tag(group, element, null, value || tags, offsetStart, offsetValue, offset, this.littleEndian);\n\n return sublistItemTag;\n};\n\n\n\ndaikon.Parser.prototype.findFirstTagOffset = function (data) {\n var offset = 0,\n magicCookieLength = daikon.Parser.MAGIC_COOKIE.length,\n searchOffsetMax = daikon.Parser.MAGIC_COOKIE_OFFSET * 5,\n found = false,\n ctr = 0,\n ctrIn = 0,\n ch = 0;\n\n if (daikon.Parser.isMagicCookieFound(data)) {\n offset = daikon.Parser.MAGIC_COOKIE_OFFSET + magicCookieLength;\n } else {\n for (ctr = 0; ctr < searchOffsetMax; ctr += 1) {\n ch = data.getUint8(ctr);\n if (ch === daikon.Parser.MAGIC_COOKIE[0]) {\n found = true;\n for (ctrIn = 1; ctrIn < magicCookieLength; ctrIn += 1) {\n if (data.getUint8(ctr + ctrIn) !== daikon.Parser.MAGIC_COOKIE[ctrIn]) {\n found = false;\n }\n }\n\n if (found) {\n offset = ctr + magicCookieLength;\n break;\n }\n }\n }\n }\n\n return offset;\n};\n\n\n\ndaikon.Parser.prototype.hasError = function () {\n return (this.error !== null);\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.Parser;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/parser.js\n// module id = 0\n// module chunks = 0","'use strict';\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n if (on) {\n exports.Buf8 = Uint8Array;\n exports.Buf16 = Uint16Array;\n exports.Buf32 = Int32Array;\n exports.assign(exports, fnTyped);\n } else {\n exports.Buf8 = Array;\n exports.Buf16 = Array;\n exports.Buf32 = Array;\n exports.assign(exports, fnUntyped);\n }\n};\n\nexports.setTyped(TYPED_OK);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/utils/common.js\n// module id = 1\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.Utils = daikon.Utils || {};\n\n\ndaikon.Utils.crcTable = null;\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.Utils.MAX_VALUE = 9007199254740991;\ndaikon.Utils.MIN_VALUE = -9007199254740991;\n\n\n\n/*** Static methods ***/\n\ndaikon.Utils.dec2hex = function (i) {\n return (i + 0x10000).toString(16).substr(-4).toUpperCase();\n};\n\n\n\n// http://stackoverflow.com/questions/966225/how-can-i-create-a-two-dimensional-array-in-javascript\ndaikon.Utils.createArray = function (length) {\n var arr = new Array(length || 0),\n i = length;\n\n if (arguments.length > 1) {\n var args = Array.prototype.slice.call(arguments, 1);\n while(i--) arr[length-1 - i] = daikon.Utils.createArray.apply(this, args);\n }\n\n return arr;\n};\n\n\ndaikon.Utils.getStringAt = function (dataview, start, length) {\n var str = \"\", ctr, ch;\n\n for (ctr = 0; ctr < length; ctr += 1) {\n ch = dataview.getUint8(start + ctr);\n\n if (ch !== 0) {\n str += String.fromCharCode(ch);\n }\n }\n\n return str;\n};\n\n\n\ndaikon.Utils.trim = function (str) {\n return str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n};\n\n\n\ndaikon.Utils.stripLeadingZeros = function (str) {\n return str.replace(/^[0]+/g, \"\");\n};\n\n\n\ndaikon.Utils.safeParseInt = function (str) {\n str = daikon.Utils.stripLeadingZeros(str);\n if (str.length > 0) {\n return parseInt(str, 10);\n }\n\n return 0;\n};\n\n\n\ndaikon.Utils.convertCamcelCaseToTitleCase = function (str) {\n var result = str.replace(/([A-Z][a-z])/g, \" $1\");\n return daikon.Utils.trim(result.charAt(0).toUpperCase() + result.slice(1));\n};\n\n\n\ndaikon.Utils.safeParseFloat = function (str) {\n str = daikon.Utils.stripLeadingZeros(str);\n if (str.length > 0) {\n return parseFloat(str);\n }\n\n return 0;\n};\n\n\n// http://stackoverflow.com/questions/8361086/convert-byte-array-to-numbers-in-javascript\ndaikon.Utils.bytesToDouble = function (data) {\n var sign = (data[0] & 1<<7)>>7;\n\n var exponent = (((data[0] & 127) << 4) | (data[1]&(15<<4))>>4);\n\n if(exponent == 0) return 0;\n if(exponent == 0x7ff) return (sign) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n var mul = Math.pow(2,exponent - 1023 - 52);\n var mantissa = data[7]+\n data[6]*Math.pow(2,8)+\n data[5]*Math.pow(2,8*2)+\n data[4]*Math.pow(2,8*3)+\n data[3]*Math.pow(2,8*4)+\n data[2]*Math.pow(2,8*5)+\n (data[1]&15)*Math.pow(2,8*6)+\n Math.pow(2,52);\n\n return Math.pow(-1,sign)*mantissa*mul;\n};\n\n\n\ndaikon.Utils.concatArrayBuffers = function (buffer1, buffer2) {\n var tmp = new Uint8Array(buffer1.byteLength + buffer2.byteLength);\n tmp.set(new Uint8Array(buffer1), 0);\n tmp.set(new Uint8Array(buffer2), buffer1.byteLength);\n return tmp.buffer;\n};\n\n\n\ndaikon.Utils.concatArrayBuffers2 = function (buffers) {\n var length = 0, offset = 0, ctr;\n\n for (ctr = 0; ctr < buffers.length; ctr += 1) {\n length += buffers[ctr].byteLength;\n }\n\n var tmp = new Uint8Array(length);\n\n for (ctr = 0; ctr < buffers.length; ctr += 1) {\n tmp.set(new Uint8Array(buffers[ctr]), offset);\n offset += buffers[ctr].byteLength;\n\n }\n\n return tmp.buffer;\n};\n\n\n\ndaikon.Utils.fillBuffer = function (array, buffer, offset, numBytes) {\n var ctr;\n\n if (numBytes === 1) {\n for (ctr = 0; ctr < array.length; ctr+=1) {\n buffer.setUint8(offset + ctr, array[ctr]);\n }\n } else if (numBytes === 2) {\n for (ctr = 0; ctr < array.length; ctr+=1) {\n buffer.setUint16(offset + (ctr * 2), array[ctr], true);\n }\n }\n};\n\n\n\ndaikon.Utils.fillBufferRGB = function (array, buffer, offset) {\n var r, g, b, ctr, numElements = (parseInt(array.length / 3));\n\n for (ctr = 0; ctr < numElements; ctr+=1) {\n r = array[ctr * 3];\n g = array[ctr * 3 + 1];\n b = array[ctr * 3 + 2];\n\n buffer.setUint8(offset + ctr, parseInt((r + b + g) / 3), true);\n }\n};\n\n\n\ndaikon.Utils.bind = function (scope, fn, args, appendArgs) {\n if (arguments.length === 2) {\n return function () {\n return fn.apply(scope, arguments);\n };\n }\n\n var method = fn,\n slice = Array.prototype.slice;\n\n return function () {\n var callArgs = args || arguments;\n\n if (appendArgs === true) {\n callArgs = slice.call(arguments, 0);\n callArgs = callArgs.concat(args);\n } else if (typeof appendArgs === 'number') {\n callArgs = slice.call(arguments, 0); // copy arguments first\n Ext.Array.insert(callArgs, appendArgs, args);\n }\n\n return method.apply(scope || window, callArgs);\n };\n};\n\n\n\ndaikon.Utils.toArrayBuffer = function (buffer) {\n var ab, view, i;\n\n ab = new ArrayBuffer(buffer.length);\n view = new Uint8Array(ab);\n for (i = 0; i < buffer.length; i += 1) {\n view[i] = buffer[i];\n }\n return ab;\n};\n\n\n\n// http://stackoverflow.com/questions/203739/why-does-instanceof-return-false-for-some-literals\ndaikon.Utils.isString = function (s) {\n return typeof(s) === 'string' || s instanceof String;\n};\n\n\n\n// http://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\ndaikon.Utils.isValidDate = function(d) {\n if (Object.prototype.toString.call(d) === \"[object Date]\") {\n if (isNaN(d.getTime())) {\n return false;\n } else {\n return true;\n }\n } else {\n return false;\n }\n};\n\n\n\ndaikon.Utils.swap32 = function (val) {\n /*jslint bitwise: true */\n return ((val & 0xFF) << 24) | ((val & 0xFF00) << 8) | ((val >> 8) & 0xFF00) | ((val >> 24) & 0xFF);\n};\n\n\n\ndaikon.Utils.swap16 = function (val) {\n /*jslint bitwise: true */\n return ((((val & 0xFF) << 8) | ((val >> 8) & 0xFF)) << 16) >> 16; // since JS uses 32-bit when bit shifting\n};\n\n\n// http://stackoverflow.com/questions/18638900/javascript-crc32\ndaikon.Utils.makeCRCTable = function(){\n var c;\n var crcTable = [];\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n crcTable[n] = c;\n }\n return crcTable;\n};\n\ndaikon.Utils.crc32 = function(dataView) {\n var crcTable = daikon.Utils.crcTable || (daikon.Utils.crcTable = daikon.Utils.makeCRCTable());\n var crc = 0 ^ (-1);\n\n for (var i = 0; i < dataView.byteLength; i++ ) {\n crc = (crc >>> 8) ^ crcTable[(crc ^ dataView.getUint8(i)) & 0xFF];\n }\n\n return (crc ^ (-1)) >>> 0;\n};\n\n\n\ndaikon.Utils.createBitMask = function (numBytes, bitsStored, unsigned) {\n var mask = 0xFFFFFFFF;\n mask >>>= (((4 - numBytes) * 8) + ((numBytes * 8) - bitsStored));\n\n if (unsigned) {\n if (numBytes == 1) {\n mask &= 0x000000FF;\n } else if (numBytes == 2) {\n mask &= 0x0000FFFF;\n } else if (numBytes == 4) {\n mask &= 0xFFFFFFFF;\n } else if (numBytes == 8) {\n mask = 0xFFFFFFFF;\n }\n } else {\n mask = 0xFFFFFFFF;\n }\n\n return mask;\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.Utils;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/utilities.js\n// module id = 2\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\n\n\n/*** Constructor ***/\njpeg.lossless.DataStream = jpeg.lossless.DataStream || function (data, offset, length) {\n if (offset === undefined && length === undefined) { // Old api\n this.buffer = new Uint8Array(data);\n } else {\n this.buffer = new Uint8Array(data, offset, length);\n }\n this.index = 0;\n};\n\n\n\njpeg.lossless.DataStream.prototype.get16 = function () {\n // var value = this.buffer.getUint16(this.index, false);\n var value = (this.buffer[this.index] << 8) + this.buffer[this.index + 1]; // DataView is big-endian by default\n this.index += 2;\n return value;\n};\n\n\n\njpeg.lossless.DataStream.prototype.get8 = function () {\n // var value = this.buffer.getUint8(this.index);\n var value = this.buffer[this.index];\n this.index += 1;\n return value;\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.DataStream;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/data-stream.js\n// module id = 3\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\n\n\n/*** Constructor ***/\njpeg.lossless.Utils = jpeg.lossless.Utils || {};\n\n\n/*** Static methods ***/\n\n// http://stackoverflow.com/questions/966225/how-can-i-create-a-two-dimensional-array-in-javascript\njpeg.lossless.Utils.createArray = function (length) {\n var arr = new Array(length || 0),\n i = length;\n\n if (arguments.length > 1) {\n var args = Array.prototype.slice.call(arguments, 1);\n while(i--) arr[length-1 - i] = jpeg.lossless.Utils.createArray.apply(this, args);\n }\n\n return arr;\n};\n\n\n// http://stackoverflow.com/questions/18638900/javascript-crc32\njpeg.lossless.Utils.makeCRCTable = function(){\n var c;\n var crcTable = [];\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n crcTable[n] = c;\n }\n return crcTable;\n};\n\njpeg.lossless.Utils.crc32 = function(dataView) {\n var uint8view = new Uint8Array(dataView.buffer);\n var crcTable = jpeg.lossless.Utils.crcTable || (jpeg.lossless.Utils.crcTable = jpeg.lossless.Utils.makeCRCTable());\n var crc = 0 ^ (-1);\n\n for (var i = 0; i < uint8view.length; i++ ) {\n crc = (crc >>> 8) ^ crcTable[(crc ^ uint8view[i]) & 0xFF];\n }\n\n return (crc ^ (-1)) >>> 0;\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.Utils;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/utils.js\n// module id = 4\n// module chunks = 0","module.exports = girder_plugin_dicom_viewer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_dicom_viewer\"\n// module id = 5\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\n\n/**\n * daikon.Dictionary\n * @type {{}|*}\n */\ndaikon.Dictionary = daikon.Dictionary || {};\ndaikon.Utils = daikon.Utils || ((typeof require !== 'undefined') ? require('./utilities.js') : null);\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.Dictionary.dictPrivate = {\n \"0207\" : {\n \"101F\" : [\"FE\", \"ElscintDataScale\"] // uses special Elscint double type (see Tag class)\n }\n};\n\n\ndaikon.Dictionary.dict = {\n \"0002\" : {\n \"0001\" : [\"OB\", \"FileMetaInformationVersion\"],\n \"0002\" : [\"UI\", \"MediaStoredSOPClassUID\"],\n \"0003\" : [\"UI\", \"MediaStoredSOPInstanceUID\"],\n \"0010\" : [\"UI\", \"TransferSyntaxUID\"],\n \"0012\" : [\"UI\", \"ImplementationClassUID\"],\n \"0013\" : [\"SH\", \"ImplementationVersionName\"],\n \"0016\" : [\"AE\", \"SourceApplicationEntityTitle\"],\n \"0100\" : [\"UI\", \"PrivateInformationCreatorUID\"],\n \"0102\" : [\"OB\", \"PrivateInformation\"]\n },\n \"0004\" : {\n \"1130\" : [\"CS\", \"FilesetID\"],\n \"1141\" : [\"CS\", \"FilesetDescriptorFileFileID\"],\n \"1142\" : [\"CS\", \"FilesetDescriptorFileFormat\"],\n \"1200\" : [\"UL\", \"RootDirectoryEntitysFirstDirectoryRecordOffset\"],\n \"1202\" : [\"UL\", \"RootDirectoryEntitysLastDirectoryRecordOffset\"],\n \"1212\" : [\"US\", \"File-setConsistenceFlag\"],\n \"1220\" : [\"SQ\", \"DirectoryRecordSequence\"],\n \"1400\" : [\"UL\", \"NextDirectoryRecordOffset\"],\n \"1410\" : [\"US\", \"RecordInuseFlag\"],\n \"1420\" : [\"UL\", \"ReferencedLowerlevelDirectoryEntityOffset\"],\n \"1430\" : [\"CS\", \"DirectoryRecordType\"],\n \"1432\" : [\"UI\", \"PrivateRecordUID\"],\n \"1500\" : [\"CS\", \"ReferencedFileID\"],\n \"1510\" : [\"UI\", \"ReferencedSOPClassUIDInFile\"],\n \"1511\" : [\"UI\", \"ReferencedSOPInstanceUIDInFile\"],\n \"1600\" : [\"UL\", \"NumberOfReferences\"]\n },\n \"0008\" : {\n \"0001\" : [\"UL\", \"LengthToEnd\"],\n \"0005\" : [\"CS\", \"SpecificCharacterSet\"],\n \"0006\" : [\"SQ\", \"LanguageCodeSequence\"],\n \"0008\" : [\"CS\", \"ImageType\"],\n \"0010\" : [\"SH\", \"RecognitionCode\"],\n \"0012\" : [\"DA\", \"InstanceCreationDate\"],\n \"0013\" : [\"TM\", \"InstanceCreationTime\"],\n \"0014\" : [\"UI\", \"InstanceCreatorUID\"],\n \"0016\" : [\"UI\", \"SOPClassUID\"],\n \"0018\" : [\"UI\", \"SOPInstanceUID\"],\n \"001A\" : [\"UI\", \"RelatedGeneralSOPClassUID\"],\n \"001B\" : [\"UI\", \"OriginalSpecializedSOPClassUID\"],\n \"0020\" : [\"DA\", \"StudyDate\"],\n \"0021\" : [\"DA\", \"SeriesDate\"],\n \"0022\" : [\"DA\", \"AcquisitionDate\"],\n \"0023\" : [\"DA\", \"ContentDate\"],\n \"0024\" : [\"DA\", \"OverlayDate\"],\n \"0025\" : [\"DA\", \"CurveDate\"],\n \"002A\" : [\"DT\", \"AcquisitionDateTime\"],\n \"0030\" : [\"TM\", \"StudyTime\"],\n \"0031\" : [\"TM\", \"SeriesTime\"],\n \"0032\" : [\"TM\", \"AcquisitionTime\"],\n \"0033\" : [\"TM\", \"ContentTime\"],\n \"0034\" : [\"TM\", \"OverlayTime\"],\n \"0035\" : [\"TM\", \"CurveTime\"],\n \"0040\" : [\"US\", \"DataSetType\"],\n \"0041\" : [\"LO\", \"DataSetSubtype\"],\n \"0042\" : [\"CS\", \"NuclearMedicineSeriesType\"],\n \"0050\" : [\"SH\", \"AccessionNumber\"],\n \"0051\" : [\"SQ\", \"IssuerOfAccessionNumberSequence\"],\n \"0052\" : [\"CS\", \"QueryRetrieveLevel\"],\n \"0054\" : [\"AE\", \"RetrieveAETitle\"],\n \"0056\" : [\"CS\", \"InstanceAvailability\"],\n \"0058\" : [\"UI\", \"FailedSOPInstanceUIDList\"],\n \"0060\" : [\"CS\", \"Modality\"],\n \"0061\" : [\"CS\", \"ModalitiesInStudy\"],\n \"0062\" : [\"UI\", \"SOPClassesInStudy\"],\n \"0064\" : [\"CS\", \"ConversionType\"],\n \"0068\" : [\"CS\", \"PresentationIntentType\"],\n \"0070\" : [\"LO\", \"Manufacturer\"],\n \"0080\" : [\"LO\", \"InstitutionName\"],\n \"0081\" : [\"ST\", \"InstitutionAddress\"],\n \"0082\" : [\"SQ\", \"InstitutionCodeSequence\"],\n \"0090\" : [\"PN\", \"ReferringPhysicianName\"],\n \"0092\" : [\"ST\", \"ReferringPhysicianAddress\"],\n \"0094\" : [\"SH\", \"ReferringPhysicianTelephoneNumbers\"],\n \"0096\" : [\"SQ\", \"ReferringPhysicianIdentificationSequence\"],\n \"0100\" : [\"SH\", \"CodeValue\"],\n \"0102\" : [\"SH\", \"CodingSchemeDesignator\"],\n \"0103\" : [\"SH\", \"CodingSchemeVersion\"],\n \"0104\" : [\"LO\", \"CodeMeaning\"],\n \"0105\" : [\"CS\", \"MappingResource\"],\n \"0106\" : [\"DT\", \"ContextGroupVersion\"],\n \"0107\" : [\"DT\", \"ContextGroupLocalVersion\"],\n \"010B\" : [\"CS\", \"ContextGroupExtensionFlag\"],\n \"010C\" : [\"UI\", \"CodingSchemeUID\"],\n \"010D\" : [\"UI\", \"ContextGroupExtensionCreatorUID\"],\n \"010F\" : [\"CS\", \"ContextIdentifier\"],\n \"0110\" : [\"SQ\", \"CodingSchemeIdentificationSequence\"],\n \"0112\" : [\"LO\", \"CodingSchemeRegistry\"],\n \"0114\" : [\"ST\", \"CodingSchemeExternalID\"],\n \"0115\" : [\"ST\", \"CodingSchemeName\"],\n \"0116\" : [\"ST\", \"CodingSchemeResponsibleOrganization\"],\n \"0117\" : [\"UI\", \"ContextUID\"],\n \"0201\" : [\"SH\", \"TimezoneOffsetFromUTC\"],\n \"1000\" : [\"AE\", \"NetworkID\"],\n \"1010\" : [\"SH\", \"StationName\"],\n \"1030\" : [\"LO\", \"StudyDescription\"],\n \"1032\" : [\"SQ\", \"ProcedureCodeSequence\"],\n \"103E\" : [\"LO\", \"SeriesDescription\"],\n \"103F\" : [\"SQ\", \"SeriesDescriptionCodeSequence\"],\n \"1040\" : [\"LO\", \"InstitutionalDepartmentName\"],\n \"1048\" : [\"PN\", \"PhysiciansOfRecord\"],\n \"1049\" : [\"SQ\", \"PhysiciansOfRecordIdentificationSequence\"],\n \"1050\" : [\"PN\", \"PerformingPhysicianName\"],\n \"1052\" : [\"SQ\", \"PerformingPhysicianIdentificationSequence\"],\n \"1060\" : [\"PN\", \"NameOfPhysiciansReadingStudy\"],\n \"1062\" : [\"SQ\", \"PhysiciansReadingStudyIdentificationSequence\"],\n \"1070\" : [\"PN\", \"OperatorsName\"],\n \"1072\" : [\"SQ\", \"OperatorIdentificationSequence\"],\n \"1080\" : [\"LO\", \"AdmittingDiagnosesDescription\"],\n \"1084\" : [\"SQ\", \"AdmittingDiagnosesCodeSequence\"],\n \"1090\" : [\"LO\", \"ManufacturerModelName\"],\n \"1100\" : [\"SQ\", \"ReferencedResultsSequence\"],\n \"1110\" : [\"SQ\", \"ReferencedStudySequence\"],\n \"1111\" : [\"SQ\", \"ReferencedPerformedProcedureStepSequence\"],\n \"1115\" : [\"SQ\", \"ReferencedSeriesSequence\"],\n \"1120\" : [\"SQ\", \"ReferencedPatientSequence\"],\n \"1125\" : [\"SQ\", \"ReferencedVisitSequence\"],\n \"1130\" : [\"SQ\", \"ReferencedOverlaySequence\"],\n \"1134\" : [\"SQ\", \"ReferencedStereometricInstanceSequence\"],\n \"113A\" : [\"SQ\", \"ReferencedWaveformSequence\"],\n \"1140\" : [\"SQ\", \"ReferencedImageSequence\"],\n \"1145\" : [\"SQ\", \"ReferencedCurveSequence\"],\n \"114A\" : [\"SQ\", \"ReferencedInstanceSequence\"],\n \"114B\" : [\"SQ\", \"ReferencedRealWorldValueMappingInstanceSequence\"],\n \"1150\" : [\"UI\", \"ReferencedSOPClassUID\"],\n \"1155\" : [\"UI\", \"ReferencedSOPInstanceUID\"],\n \"115A\" : [\"UI\", \"SOPClassesSupported\"],\n \"1160\" : [\"IS\", \"ReferencedFrameNumber\"],\n \"1161\" : [\"UL\", \"SimpleFrameList\"],\n \"1162\" : [\"UL\", \"CalculatedFrameList\"],\n \"1163\" : [\"FD\", \"TimeRange\"],\n \"1164\" : [\"SQ\", \"FrameExtractionSequence\"],\n \"1167\" : [\"UI\", \"MultiFrameSourceSOPInstanceUID\"],\n \"1195\" : [\"UI\", \"TransactionUID\"],\n \"1197\" : [\"US\", \"FailureReason\"],\n \"1198\" : [\"SQ\", \"FailedSOPSequence\"],\n \"1199\" : [\"SQ\", \"ReferencedSOPSequence\"],\n \"1200\" : [\"SQ\", \"StudiesContainingOtherReferencedInstancesSequence\"],\n \"1250\" : [\"SQ\", \"RelatedSeriesSequence\"],\n \"2110\" : [\"CS\", \"LossyImageCompressionRetired\"],\n \"2111\" : [\"ST\", \"DerivationDescription\"],\n \"2112\" : [\"SQ\", \"SourceImageSequence\"],\n \"2120\" : [\"SH\", \"StageName\"],\n \"2122\" : [\"IS\", \"StageNumber\"],\n \"2124\" : [\"IS\", \"NumberOfStages\"],\n \"2127\" : [\"SH\", \"ViewName\"],\n \"2128\" : [\"IS\", \"ViewNumber\"],\n \"2129\" : [\"IS\", \"NumberOfEventTimers\"],\n \"212A\" : [\"IS\", \"NumberOfViewsInStage\"],\n \"2130\" : [\"DS\", \"EventElapsedTimes\"],\n \"2132\" : [\"LO\", \"EventTimerNames\"],\n \"2133\" : [\"SQ\", \"EventTimerSequence\"],\n \"2134\" : [\"FD\", \"EventTimeOffset\"],\n \"2135\" : [\"SQ\", \"EventCodeSequence\"],\n \"2142\" : [\"IS\", \"StartTrim\"],\n \"2143\" : [\"IS\", \"StopTrim\"],\n \"2144\" : [\"IS\", \"RecommendedDisplayFrameRate\"],\n \"2200\" : [\"CS\", \"TransducerPosition\"],\n \"2204\" : [\"CS\", \"TransducerOrientation\"],\n \"2208\" : [\"CS\", \"AnatomicStructure\"],\n \"2218\" : [\"SQ\", \"AnatomicRegionSequence\"],\n \"2220\" : [\"SQ\", \"AnatomicRegionModifierSequence\"],\n \"2228\" : [\"SQ\", \"PrimaryAnatomicStructureSequence\"],\n \"2229\" : [\"SQ\", \"AnatomicStructureSpaceOrRegionSequence\"],\n \"2230\" : [\"SQ\", \"PrimaryAnatomicStructureModifierSequence\"],\n \"2240\" : [\"SQ\", \"TransducerPositionSequence\"],\n \"2242\" : [\"SQ\", \"TransducerPositionModifierSequence\"],\n \"2244\" : [\"SQ\", \"TransducerOrientationSequence\"],\n \"2246\" : [\"SQ\", \"TransducerOrientationModifierSequence\"],\n \"2251\" : [\"SQ\", \"AnatomicStructureSpaceOrRegionCodeSequenceTrial\"],\n \"2253\" : [\"SQ\", \"AnatomicPortalOfEntranceCodeSequenceTrial\"],\n \"2255\" : [\"SQ\", \"AnatomicApproachDirectionCodeSequenceTrial\"],\n \"2256\" : [\"ST\", \"AnatomicPerspectiveDescriptionTrial\"],\n \"2257\" : [\"SQ\", \"AnatomicPerspectiveCodeSequenceTrial\"],\n \"2258\" : [\"ST\", \"AnatomicLocationOfExaminingInstrumentDescriptionTrial\"],\n \"2259\" : [\"SQ\", \"AnatomicLocationOfExaminingInstrumentCodeSequenceTrial\"],\n \"225A\" : [\"SQ\", \"AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial\"],\n \"225C\" : [\"SQ\", \"OnAxisBackgroundAnatomicStructureCodeSequenceTrial\"],\n \"3001\" : [\"SQ\", \"AlternateRepresentationSequence\"],\n \"3010\" : [\"UI\", \"IrradiationEventUID\"],\n \"4000\" : [\"LT\", \"IdentifyingComments\"],\n \"9007\" : [\"CS\", \"FrameType\"],\n \"9092\" : [\"SQ\", \"ReferencedImageEvidenceSequence\"],\n \"9121\" : [\"SQ\", \"ReferencedRawDataSequence\"],\n \"9123\" : [\"UI\", \"CreatorVersionUID\"],\n \"9124\" : [\"SQ\", \"DerivationImageSequence\"],\n \"9154\" : [\"SQ\", \"SourceImageEvidenceSequence\"],\n \"9205\" : [\"CS\", \"PixelPresentation\"],\n \"9206\" : [\"CS\", \"VolumetricProperties\"],\n \"9207\" : [\"CS\", \"VolumeBasedCalculationTechnique\"],\n \"9208\" : [\"CS\", \"ComplexImageComponent\"],\n \"9209\" : [\"CS\", \"AcquisitionContrast\"],\n \"9215\" : [\"SQ\", \"DerivationCodeSequence\"],\n \"9237\" : [\"SQ\", \"ReferencedPresentationStateSequence\"],\n \"9410\" : [\"SQ\", \"ReferencedOtherPlaneSequence\"],\n \"9458\" : [\"SQ\", \"FrameDisplaySequence\"],\n \"9459\" : [\"FL\", \"RecommendedDisplayFrameRateInFloat\"],\n \"9460\" : [\"CS\", \"SkipFrameRangeFlag\"]\n },\n \"0010\" : {\n \"0010\" : [\"PN\", \"PatientName\"],\n \"0020\" : [\"LO\", \"PatientID\"],\n \"0021\" : [\"LO\", \"IssuerOfPatientID\"],\n \"0022\" : [\"CS\", \"TypeOfPatientID\"],\n \"0024\" : [\"SQ\", \"IssuerOfPatientIDQualifiersSequence\"],\n \"0030\" : [\"DA\", \"PatientBirthDate\"],\n \"0032\" : [\"TM\", \"PatientBirthTime\"],\n \"0040\" : [\"CS\", \"PatientSex\"],\n \"0050\" : [\"SQ\", \"PatientInsurancePlanCodeSequence\"],\n \"0101\" : [\"SQ\", \"PatientPrimaryLanguageCodeSequence\"],\n \"0102\" : [\"SQ\", \"PatientPrimaryLanguageModifierCodeSequence\"],\n \"1000\" : [\"LO\", \"OtherPatientIDs\"],\n \"1001\" : [\"PN\", \"OtherPatientNames\"],\n \"1002\" : [\"SQ\", \"OtherPatientIDsSequence\"],\n \"1005\" : [\"PN\", \"PatientBirthName\"],\n \"1010\" : [\"AS\", \"PatientAge\"],\n \"1020\" : [\"DS\", \"PatientSize\"],\n \"1021\" : [\"SQ\", \"PatientSizeCodeSequence\"],\n \"1030\" : [\"DS\", \"PatientWeight\"],\n \"1040\" : [\"LO\", \"PatientAddress\"],\n \"1050\" : [\"LO\", \"InsurancePlanIdentification\"],\n \"1060\" : [\"PN\", \"PatientMotherBirthName\"],\n \"1080\" : [\"LO\", \"MilitaryRank\"],\n \"1081\" : [\"LO\", \"BranchOfService\"],\n \"1090\" : [\"LO\", \"MedicalRecordLocator\"],\n \"2000\" : [\"LO\", \"MedicalAlerts\"],\n \"2110\" : [\"LO\", \"Allergies\"],\n \"2150\" : [\"LO\", \"CountryOfResidence\"],\n \"2152\" : [\"LO\", \"RegionOfResidence\"],\n \"2154\" : [\"SH\", \"PatientTelephoneNumbers\"],\n \"2160\" : [\"SH\", \"EthnicGroup\"],\n \"2180\" : [\"SH\", \"Occupation\"],\n \"21A0\" : [\"CS\", \"SmokingStatus\"],\n \"21B0\" : [\"LT\", \"AdditionalPatientHistory\"],\n \"21C0\" : [\"US\", \"PregnancyStatus\"],\n \"21D0\" : [\"DA\", \"LastMenstrualDate\"],\n \"21F0\" : [\"LO\", \"PatientReligiousPreference\"],\n \"2201\" : [\"LO\", \"PatientSpeciesDescription\"],\n \"2202\" : [\"SQ\", \"PatientSpeciesCodeSequence\"],\n \"2203\" : [\"CS\", \"PatientSexNeutered\"],\n \"2210\" : [\"CS\", \"AnatomicalOrientationType\"],\n \"2292\" : [\"LO\", \"PatientBreedDescription\"],\n \"2293\" : [\"SQ\", \"PatientBreedCodeSequence\"],\n \"2294\" : [\"SQ\", \"BreedRegistrationSequence\"],\n \"2295\" : [\"LO\", \"BreedRegistrationNumber\"],\n \"2296\" : [\"SQ\", \"BreedRegistryCodeSequence\"],\n \"2297\" : [\"PN\", \"ResponsiblePerson\"],\n \"2298\" : [\"CS\", \"ResponsiblePersonRole\"],\n \"2299\" : [\"LO\", \"ResponsibleOrganization\"],\n \"4000\" : [\"LT\", \"PatientComments\"],\n \"9431\" : [\"FL\", \"ExaminedBodyThickness\"]\n },\n \"0012\" : {\n \"0010\" : [\"LO\", \"ClinicalTrialSponsorName\"],\n \"0020\" : [\"LO\", \"ClinicalTrialProtocolID\"],\n \"0021\" : [\"LO\", \"ClinicalTrialProtocolName\"],\n \"0030\" : [\"LO\", \"ClinicalTrialSiteID\"],\n \"0031\" : [\"LO\", \"ClinicalTrialSiteName\"],\n \"0040\" : [\"LO\", \"ClinicalTrialSubjectID\"],\n \"0042\" : [\"LO\", \"ClinicalTrialSubjectReadingID\"],\n \"0050\" : [\"LO\", \"ClinicalTrialTimePointID\"],\n \"0051\" : [\"ST\", \"ClinicalTrialTimePointDescription\"],\n \"0060\" : [\"LO\", \"ClinicalTrialCoordinatingCenterName\"],\n \"0062\" : [\"CS\", \"PatientIdentityRemoved\"],\n \"0063\" : [\"LO\", \"DeidentificationMethod\"],\n \"0064\" : [\"SQ\", \"DeidentificationMethodCodeSequence\"],\n \"0071\" : [\"LO\", \"ClinicalTrialSeriesID\"],\n \"0072\" : [\"LO\", \"ClinicalTrialSeriesDescription\"],\n \"0081\" : [\"LO\", \"ClinicalTrialProtocolEthicsCommitteeName\"],\n \"0082\" : [\"LO\", \"ClinicalTrialProtocolEthicsCommitteeApprovalNumber\"],\n \"0083\" : [\"SQ\", \"ConsentForClinicalTrialUseSequence\"],\n \"0084\" : [\"CS\", \"DistributionType\"],\n \"0085\" : [\"CS\", \"ConsentForDistributionFlag\"]\n },\n \"0014\" : {\n \"0023\" : [\"ST\", \"CADFileFormat\"],\n \"0024\" : [\"ST\", \"ComponentReferenceSystem\"],\n \"0025\" : [\"ST\", \"ComponentManufacturingProcedure\"],\n \"0028\" : [\"ST\", \"ComponentManufacturer\"],\n \"0030\" : [\"DS\", \"MaterialThickness\"],\n \"0032\" : [\"DS\", \"MaterialPipeDiameter\"],\n \"0034\" : [\"DS\", \"MaterialIsolationDiameter\"],\n \"0042\" : [\"ST\", \"MaterialGrade\"],\n \"0044\" : [\"ST\", \"MaterialPropertiesFileID\"],\n \"0045\" : [\"ST\", \"MaterialPropertiesFileFormat\"],\n \"0046\" : [\"LT\", \"MaterialNotes\"],\n \"0050\" : [\"CS\", \"ComponentShape\"],\n \"0052\" : [\"CS\", \"CurvatureType\"],\n \"0054\" : [\"DS\", \"OuterDiameter\"],\n \"0056\" : [\"DS\", \"InnerDiameter\"],\n \"1010\" : [\"ST\", \"ActualEnvironmentalConditions\"],\n \"1020\" : [\"DA\", \"ExpiryDate\"],\n \"1040\" : [\"ST\", \"EnvironmentalConditions\"],\n \"2002\" : [\"SQ\", \"EvaluatorSequence\"],\n \"2004\" : [\"IS\", \"EvaluatorNumber\"],\n \"2006\" : [\"PN\", \"EvaluatorName\"],\n \"2008\" : [\"IS\", \"EvaluationAttempt\"],\n \"2012\" : [\"SQ\", \"IndicationSequence\"],\n \"2014\" : [\"IS\", \"IndicationNumber \"],\n \"2016\" : [\"SH\", \"IndicationLabel\"],\n \"2018\" : [\"ST\", \"IndicationDescription\"],\n \"201A\" : [\"CS\", \"IndicationType\"],\n \"201C\" : [\"CS\", \"IndicationDisposition\"],\n \"201E\" : [\"SQ\", \"IndicationROISequence\"],\n \"2030\" : [\"SQ\", \"IndicationPhysicalPropertySequence\"],\n \"2032\" : [\"SH\", \"PropertyLabel\"],\n \"2202\" : [\"IS\", \"CoordinateSystemNumberOfAxes \"],\n \"2204\" : [\"SQ\", \"CoordinateSystemAxesSequence\"],\n \"2206\" : [\"ST\", \"CoordinateSystemAxisDescription\"],\n \"2208\" : [\"CS\", \"CoordinateSystemDataSetMapping\"],\n \"220A\" : [\"IS\", \"CoordinateSystemAxisNumber\"],\n \"220C\" : [\"CS\", \"CoordinateSystemAxisType\"],\n \"220E\" : [\"CS\", \"CoordinateSystemAxisUnits\"],\n \"2210\" : [\"OB\", \"CoordinateSystemAxisValues\"],\n \"2220\" : [\"SQ\", \"CoordinateSystemTransformSequence\"],\n \"2222\" : [\"ST\", \"TransformDescription\"],\n \"2224\" : [\"IS\", \"TransformNumberOfAxes\"],\n \"2226\" : [\"IS\", \"TransformOrderOfAxes\"],\n \"2228\" : [\"CS\", \"TransformedAxisUnits\"],\n \"222A\" : [\"DS\", \"CoordinateSystemTransformRotationAndScaleMatrix\"],\n \"222C\" : [\"DS\", \"CoordinateSystemTransformTranslationMatrix\"],\n \"3011\" : [\"DS\", \"InternalDetectorFrameTime\"],\n \"3012\" : [\"DS\", \"NumberOfFramesIntegrated\"],\n \"3020\" : [\"SQ\", \"DetectorTemperatureSequence\"],\n \"3022\" : [\"DS\", \"SensorName\"],\n \"3024\" : [\"DS\", \"HorizontalOffsetOfSensor\"],\n \"3026\" : [\"DS\", \"VerticalOffsetOfSensor\"],\n \"3028\" : [\"DS\", \"SensorTemperature\"],\n \"3040\" : [\"SQ\", \"DarkCurrentSequence\"],\n \"3050\" : [\"OB\", \"DarkCurrentCounts\"],\n \"3060\" : [\"SQ\", \"GainCorrectionReferenceSequence\"],\n \"3070\" : [\"OB\", \"AirCounts\"],\n \"3071\" : [\"DS\", \"KVUsedInGainCalibration\"],\n \"3072\" : [\"DS\", \"MAUsedInGainCalibration\"],\n \"3073\" : [\"DS\", \"NumberOfFramesUsedForIntegration\"],\n \"3074\" : [\"LO\", \"FilterMaterialUsedInGainCalibration\"],\n \"3075\" : [\"DS\", \"FilterThicknessUsedInGainCalibration\"],\n \"3076\" : [\"DA\", \"DateOfGainCalibration\"],\n \"3077\" : [\"TM\", \"TimeOfGainCalibration\"],\n \"3080\" : [\"OB\", \"BadPixelImage\"],\n \"3099\" : [\"LT\", \"CalibrationNotes\"],\n \"4002\" : [\"SQ\", \"PulserEquipmentSequence\"],\n \"4004\" : [\"CS\", \"PulserType\"],\n \"4006\" : [\"LT\", \"PulserNotes\"],\n \"4008\" : [\"SQ\", \"ReceiverEquipmentSequence\"],\n \"400A\" : [\"CS\", \"AmplifierType\"],\n \"400C\" : [\"LT\", \"ReceiverNotes\"],\n \"400E\" : [\"SQ\", \"PreAmplifierEquipmentSequence\"],\n \"400F\" : [\"LT\", \"PreAmplifierNotes\"],\n \"4010\" : [\"SQ\", \"TransmitTransducerSequence\"],\n \"4011\" : [\"SQ\", \"ReceiveTransducerSequence\"],\n \"4012\" : [\"US\", \"NumberOfElements\"],\n \"4013\" : [\"CS\", \"ElementShape\"],\n \"4014\" : [\"DS\", \"ElementDimensionA\"],\n \"4015\" : [\"DS\", \"ElementDimensionB\"],\n \"4016\" : [\"DS\", \"ElementPitch\"],\n \"4017\" : [\"DS\", \"MeasuredBeamDimensionA\"],\n \"4018\" : [\"DS\", \"MeasuredBeamDimensionB\"],\n \"4019\" : [\"DS\", \"LocationOfMeasuredBeamDiameter\"],\n \"401A\" : [\"DS\", \"NominalFrequency\"],\n \"401B\" : [\"DS\", \"MeasuredCenterFrequency\"],\n \"401C\" : [\"DS\", \"MeasuredBandwidth\"],\n \"4020\" : [\"SQ\", \"PulserSettingsSequence\"],\n \"4022\" : [\"DS\", \"PulseWidth\"],\n \"4024\" : [\"DS\", \"ExcitationFrequency\"],\n \"4026\" : [\"CS\", \"ModulationType\"],\n \"4028\" : [\"DS\", \"Damping\"],\n \"4030\" : [\"SQ\", \"ReceiverSettingsSequence\"],\n \"4031\" : [\"DS\", \"AcquiredSoundpathLength\"],\n \"4032\" : [\"CS\", \"AcquisitionCompressionType\"],\n \"4033\" : [\"IS\", \"AcquisitionSampleSize\"],\n \"4034\" : [\"DS\", \"RectifierSmoothing\"],\n \"4035\" : [\"SQ\", \"DACSequence\"],\n \"4036\" : [\"CS\", \"DACType\"],\n \"4038\" : [\"DS\", \"DACGainPoints\"],\n \"403A\" : [\"DS\", \"DACTimePoints\"],\n \"403C\" : [\"DS\", \"DACAmplitude\"],\n \"4040\" : [\"SQ\", \"PreAmplifierSettingsSequence\"],\n \"4050\" : [\"SQ\", \"TransmitTransducerSettingsSequence\"],\n \"4051\" : [\"SQ\", \"ReceiveTransducerSettingsSequence\"],\n \"4052\" : [\"DS\", \"IncidentAngle\"],\n \"4054\" : [\"ST\", \"CouplingTechnique\"],\n \"4056\" : [\"ST\", \"CouplingMedium\"],\n \"4057\" : [\"DS\", \"CouplingVelocity\"],\n \"4058\" : [\"DS\", \"CrystalCenterLocationX\"],\n \"4059\" : [\"DS\", \"CrystalCenterLocationZ\"],\n \"405A\" : [\"DS\", \"SoundPathLength\"],\n \"405C\" : [\"ST\", \"DelayLawIdentifier\"],\n \"4060\" : [\"SQ\", \"GateSettingsSequence\"],\n \"4062\" : [\"DS\", \"GateThreshold\"],\n \"4064\" : [\"DS\", \"VelocityOfSound\"],\n \"4070\" : [\"SQ\", \"CalibrationSettingsSequence\"],\n \"4072\" : [\"ST\", \"CalibrationProcedure\"],\n \"4074\" : [\"SH\", \"ProcedureVersion\"],\n \"4076\" : [\"DA\", \"ProcedureCreationDate\"],\n \"4078\" : [\"DA\", \"ProcedureExpirationDate\"],\n \"407A\" : [\"DA\", \"ProcedureLastModifiedDate\"],\n \"407C\" : [\"TM\", \"CalibrationTime\"],\n \"407E\" : [\"DA\", \"CalibrationDate\"],\n \"5002\" : [\"IS\", \"LINACEnergy\"],\n \"5004\" : [\"IS\", \"LINACOutput\"]\n },\n \"0018\" : {\n \"0010\" : [\"LO\", \"ContrastBolusAgent\"],\n \"0012\" : [\"SQ\", \"ContrastBolusAgentSequence\"],\n \"0014\" : [\"SQ\", \"ContrastBolusAdministrationRouteSequence\"],\n \"0015\" : [\"CS\", \"BodyPartExamined\"],\n \"0020\" : [\"CS\", \"ScanningSequence\"],\n \"0021\" : [\"CS\", \"SequenceVariant\"],\n \"0022\" : [\"CS\", \"ScanOptions\"],\n \"0023\" : [\"CS\", \"MRAcquisitionType\"],\n \"0024\" : [\"SH\", \"SequenceName\"],\n \"0025\" : [\"CS\", \"AngioFlag\"],\n \"0026\" : [\"SQ\", \"InterventionDrugInformationSequence\"],\n \"0027\" : [\"TM\", \"InterventionDrugStopTime\"],\n \"0028\" : [\"DS\", \"InterventionDrugDose\"],\n \"0029\" : [\"SQ\", \"InterventionDrugCodeSequence\"],\n \"002A\" : [\"SQ\", \"AdditionalDrugSequence\"],\n \"0030\" : [\"LO\", \"Radionuclide\"],\n \"0031\" : [\"LO\", \"Radiopharmaceutical\"],\n \"0032\" : [\"DS\", \"EnergyWindowCenterline\"],\n \"0033\" : [\"DS\", \"EnergyWindowTotalWidth\"],\n \"0034\" : [\"LO\", \"InterventionDrugName\"],\n \"0035\" : [\"TM\", \"InterventionDrugStartTime\"],\n \"0036\" : [\"SQ\", \"InterventionSequence\"],\n \"0037\" : [\"CS\", \"TherapyType\"],\n \"0038\" : [\"CS\", \"InterventionStatus\"],\n \"0039\" : [\"CS\", \"TherapyDescription\"],\n \"003A\" : [\"ST\", \"InterventionDescription\"],\n \"0040\" : [\"IS\", \"CineRate\"],\n \"0042\" : [\"CS\", \"InitialCineRunState\"],\n \"0050\" : [\"DS\", \"SliceThickness\"],\n \"0060\" : [\"DS\", \"KVP\"],\n \"0070\" : [\"IS\", \"CountsAccumulated\"],\n \"0071\" : [\"CS\", \"AcquisitionTerminationCondition\"],\n \"0072\" : [\"DS\", \"EffectiveDuration\"],\n \"0073\" : [\"CS\", \"AcquisitionStartCondition\"],\n \"0074\" : [\"IS\", \"AcquisitionStartConditionData\"],\n \"0075\" : [\"IS\", \"AcquisitionTerminationConditionData\"],\n \"0080\" : [\"DS\", \"RepetitionTime\"],\n \"0081\" : [\"DS\", \"EchoTime\"],\n \"0082\" : [\"DS\", \"InversionTime\"],\n \"0083\" : [\"DS\", \"NumberOfAverages\"],\n \"0084\" : [\"DS\", \"ImagingFrequency\"],\n \"0085\" : [\"SH\", \"ImagedNucleus\"],\n \"0086\" : [\"IS\", \"EchoNumbers\"],\n \"0087\" : [\"DS\", \"MagneticFieldStrength\"],\n \"0088\" : [\"DS\", \"SpacingBetweenSlices\"],\n \"0089\" : [\"IS\", \"NumberOfPhaseEncodingSteps\"],\n \"0090\" : [\"DS\", \"DataCollectionDiameter\"],\n \"0091\" : [\"IS\", \"EchoTrainLength\"],\n \"0093\" : [\"DS\", \"PercentSampling\"],\n \"0094\" : [\"DS\", \"PercentPhaseFieldOfView\"],\n \"0095\" : [\"DS\", \"PixelBandwidth\"],\n \"1000\" : [\"LO\", \"DeviceSerialNumber\"],\n \"1002\" : [\"UI\", \"DeviceUID\"],\n \"1003\" : [\"LO\", \"DeviceID\"],\n \"1004\" : [\"LO\", \"PlateID\"],\n \"1005\" : [\"LO\", \"GeneratorID\"],\n \"1006\" : [\"LO\", \"GridID\"],\n \"1007\" : [\"LO\", \"CassetteID\"],\n \"1008\" : [\"LO\", \"GantryID\"],\n \"1010\" : [\"LO\", \"SecondaryCaptureDeviceID\"],\n \"1011\" : [\"LO\", \"HardcopyCreationDeviceID\"],\n \"1012\" : [\"DA\", \"DateOfSecondaryCapture\"],\n \"1014\" : [\"TM\", \"TimeOfSecondaryCapture\"],\n \"1016\" : [\"LO\", \"SecondaryCaptureDeviceManufacturer\"],\n \"1017\" : [\"LO\", \"HardcopyDeviceManufacturer\"],\n \"1018\" : [\"LO\", \"SecondaryCaptureDeviceManufacturerModelName\"],\n \"1019\" : [\"LO\", \"SecondaryCaptureDeviceSoftwareVersions\"],\n \"101A\" : [\"LO\", \"HardcopyDeviceSoftwareVersion\"],\n \"101B\" : [\"LO\", \"HardcopyDeviceManufacturerModelName\"],\n \"1020\" : [\"LO\", \"SoftwareVersions\"],\n \"1022\" : [\"SH\", \"VideoImageFormatAcquired\"],\n \"1023\" : [\"LO\", \"DigitalImageFormatAcquired\"],\n \"1030\" : [\"LO\", \"ProtocolName\"],\n \"1040\" : [\"LO\", \"ContrastBolusRoute\"],\n \"1041\" : [\"DS\", \"ContrastBolusVolume\"],\n \"1042\" : [\"TM\", \"ContrastBolusStartTime\"],\n \"1043\" : [\"TM\", \"ContrastBolusStopTime\"],\n \"1044\" : [\"DS\", \"ContrastBolusTotalDose\"],\n \"1045\" : [\"IS\", \"SyringeCounts\"],\n \"1046\" : [\"DS\", \"ContrastFlowRate\"],\n \"1047\" : [\"DS\", \"ContrastFlowDuration\"],\n \"1048\" : [\"CS\", \"ContrastBolusIngredient\"],\n \"1049\" : [\"DS\", \"ContrastBolusIngredientConcentration\"],\n \"1050\" : [\"DS\", \"SpatialResolution\"],\n \"1060\" : [\"DS\", \"TriggerTime\"],\n \"1061\" : [\"LO\", \"TriggerSourceOrType\"],\n \"1062\" : [\"IS\", \"NominalInterval\"],\n \"1063\" : [\"DS\", \"FrameTime\"],\n \"1064\" : [\"LO\", \"CardiacFramingType\"],\n \"1065\" : [\"DS\", \"FrameTimeVector\"],\n \"1066\" : [\"DS\", \"FrameDelay\"],\n \"1067\" : [\"DS\", \"ImageTriggerDelay\"],\n \"1068\" : [\"DS\", \"MultiplexGroupTimeOffset\"],\n \"1069\" : [\"DS\", \"TriggerTimeOffset\"],\n \"106A\" : [\"CS\", \"SynchronizationTrigger\"],\n \"106C\" : [\"US\", \"SynchronizationChannel\"],\n \"106E\" : [\"UL\", \"TriggerSamplePosition\"],\n \"1070\" : [\"LO\", \"RadiopharmaceuticalRoute\"],\n \"1071\" : [\"DS\", \"RadiopharmaceuticalVolume\"],\n \"1072\" : [\"TM\", \"RadiopharmaceuticalStartTime\"],\n \"1073\" : [\"TM\", \"RadiopharmaceuticalStopTime\"],\n \"1074\" : [\"DS\", \"RadionuclideTotalDose\"],\n \"1075\" : [\"DS\", \"RadionuclideHalfLife\"],\n \"1076\" : [\"DS\", \"RadionuclidePositronFraction\"],\n \"1077\" : [\"DS\", \"RadiopharmaceuticalSpecificActivity\"],\n \"1078\" : [\"DT\", \"RadiopharmaceuticalStartDateTime\"],\n \"1079\" : [\"DT\", \"RadiopharmaceuticalStopDateTime\"],\n \"1080\" : [\"CS\", \"BeatRejectionFlag\"],\n \"1081\" : [\"IS\", \"LowRRValue\"],\n \"1082\" : [\"IS\", \"HighRRValue\"],\n \"1083\" : [\"IS\", \"IntervalsAcquired\"],\n \"1084\" : [\"IS\", \"IntervalsRejected\"],\n \"1085\" : [\"LO\", \"PVCRejection\"],\n \"1086\" : [\"IS\", \"SkipBeats\"],\n \"1088\" : [\"IS\", \"HeartRate\"],\n \"1090\" : [\"IS\", \"CardiacNumberOfImages\"],\n \"1094\" : [\"IS\", \"TriggerWindow\"],\n \"1100\" : [\"DS\", \"ReconstructionDiameter\"],\n \"1110\" : [\"DS\", \"DistanceSourceToDetector\"],\n \"1111\" : [\"DS\", \"DistanceSourceToPatient\"],\n \"1114\" : [\"DS\", \"EstimatedRadiographicMagnificationFactor\"],\n \"1120\" : [\"DS\", \"GantryDetectorTilt\"],\n \"1121\" : [\"DS\", \"GantryDetectorSlew\"],\n \"1130\" : [\"DS\", \"TableHeight\"],\n \"1131\" : [\"DS\", \"TableTraverse\"],\n \"1134\" : [\"CS\", \"TableMotion\"],\n \"1135\" : [\"DS\", \"TableVerticalIncrement\"],\n \"1136\" : [\"DS\", \"TableLateralIncrement\"],\n \"1137\" : [\"DS\", \"TableLongitudinalIncrement\"],\n \"1138\" : [\"DS\", \"TableAngle\"],\n \"113A\" : [\"CS\", \"TableType\"],\n \"1140\" : [\"CS\", \"RotationDirection\"],\n \"1141\" : [\"DS\", \"AngularPosition\"],\n \"1142\" : [\"DS\", \"RadialPosition\"],\n \"1143\" : [\"DS\", \"ScanArc\"],\n \"1144\" : [\"DS\", \"AngularStep\"],\n \"1145\" : [\"DS\", \"CenterOfRotationOffset\"],\n \"1146\" : [\"DS\", \"RotationOffset\"],\n \"1147\" : [\"CS\", \"FieldOfViewShape\"],\n \"1149\" : [\"IS\", \"FieldOfViewDimensions\"],\n \"1150\" : [\"IS\", \"ExposureTime\"],\n \"1151\" : [\"IS\", \"XRayTubeCurrent\"],\n \"1152\" : [\"IS\", \"Exposure\"],\n \"1153\" : [\"IS\", \"ExposureInuAs\"],\n \"1154\" : [\"DS\", \"AveragePulseWidth\"],\n \"1155\" : [\"CS\", \"RadiationSetting\"],\n \"1156\" : [\"CS\", \"RectificationType\"],\n \"115A\" : [\"CS\", \"RadiationMode\"],\n \"115E\" : [\"DS\", \"ImageAndFluoroscopyAreaDoseProduct\"],\n \"1160\" : [\"SH\", \"FilterType\"],\n \"1161\" : [\"LO\", \"TypeOfFilters\"],\n \"1162\" : [\"DS\", \"IntensifierSize\"],\n \"1164\" : [\"DS\", \"ImagerPixelSpacing\"],\n \"1166\" : [\"CS\", \"Grid\"],\n \"1170\" : [\"IS\", \"GeneratorPower\"],\n \"1180\" : [\"SH\", \"CollimatorGridName\"],\n \"1181\" : [\"CS\", \"CollimatorType\"],\n \"1182\" : [\"IS\", \"FocalDistance\"],\n \"1183\" : [\"DS\", \"XFocusCenter\"],\n \"1184\" : [\"DS\", \"YFocusCenter\"],\n \"1190\" : [\"DS\", \"FocalSpots\"],\n \"1191\" : [\"CS\", \"AnodeTargetMaterial\"],\n \"11A0\" : [\"DS\", \"BodyPartThickness\"],\n \"11A2\" : [\"DS\", \"CompressionForce\"],\n \"1200\" : [\"DA\", \"DateOfLastCalibration\"],\n \"1201\" : [\"TM\", \"TimeOfLastCalibration\"],\n \"1210\" : [\"SH\", \"ConvolutionKernel\"],\n \"1240\" : [\"IS\", \"UpperLowerPixelValues\"],\n \"1242\" : [\"IS\", \"ActualFrameDuration\"],\n \"1243\" : [\"IS\", \"CountRate\"],\n \"1244\" : [\"US\", \"PreferredPlaybackSequencing\"],\n \"1250\" : [\"SH\", \"ReceiveCoilName\"],\n \"1251\" : [\"SH\", \"TransmitCoilName\"],\n \"1260\" : [\"SH\", \"PlateType\"],\n \"1261\" : [\"LO\", \"PhosphorType\"],\n \"1300\" : [\"DS\", \"ScanVelocity\"],\n \"1301\" : [\"CS\", \"WholeBodyTechnique\"],\n \"1302\" : [\"IS\", \"ScanLength\"],\n \"1310\" : [\"US\", \"AcquisitionMatrix\"],\n \"1312\" : [\"CS\", \"InPlanePhaseEncodingDirection\"],\n \"1314\" : [\"DS\", \"FlipAngle\"],\n \"1315\" : [\"CS\", \"VariableFlipAngleFlag\"],\n \"1316\" : [\"DS\", \"SAR\"],\n \"1318\" : [\"DS\", \"dBdt\"],\n \"1400\" : [\"LO\", \"AcquisitionDeviceProcessingDescription\"],\n \"1401\" : [\"LO\", \"AcquisitionDeviceProcessingCode\"],\n \"1402\" : [\"CS\", \"CassetteOrientation\"],\n \"1403\" : [\"CS\", \"CassetteSize\"],\n \"1404\" : [\"US\", \"ExposuresOnPlate\"],\n \"1405\" : [\"IS\", \"RelativeXRayExposure\"],\n \"1411\" : [\"DS\", \"ExposureIndex\"],\n \"1412\" : [\"DS\", \"TargetExposureIndex\"],\n \"1413\" : [\"DS\", \"DeviationIndex\"],\n \"1450\" : [\"DS\", \"ColumnAngulation\"],\n \"1460\" : [\"DS\", \"TomoLayerHeight\"],\n \"1470\" : [\"DS\", \"TomoAngle\"],\n \"1480\" : [\"DS\", \"TomoTime\"],\n \"1490\" : [\"CS\", \"TomoType\"],\n \"1491\" : [\"CS\", \"TomoClass\"],\n \"1495\" : [\"IS\", \"NumberOfTomosynthesisSourceImages\"],\n \"1500\" : [\"CS\", \"PositionerMotion\"],\n \"1508\" : [\"CS\", \"PositionerType\"],\n \"1510\" : [\"DS\", \"PositionerPrimaryAngle\"],\n \"1511\" : [\"DS\", \"PositionerSecondaryAngle\"],\n \"1520\" : [\"DS\", \"PositionerPrimaryAngleIncrement\"],\n \"1521\" : [\"DS\", \"PositionerSecondaryAngleIncrement\"],\n \"1530\" : [\"DS\", \"DetectorPrimaryAngle\"],\n \"1531\" : [\"DS\", \"DetectorSecondaryAngle\"],\n \"1600\" : [\"CS\", \"ShutterShape\"],\n \"1602\" : [\"IS\", \"ShutterLeftVerticalEdge\"],\n \"1604\" : [\"IS\", \"ShutterRightVerticalEdge\"],\n \"1606\" : [\"IS\", \"ShutterUpperHorizontalEdge\"],\n \"1608\" : [\"IS\", \"ShutterLowerHorizontalEdge\"],\n \"1610\" : [\"IS\", \"CenterOfCircularShutter\"],\n \"1612\" : [\"IS\", \"RadiusOfCircularShutter\"],\n \"1620\" : [\"IS\", \"VerticesOfThePolygonalShutter\"],\n \"1622\" : [\"US\", \"ShutterPresentationValue\"],\n \"1623\" : [\"US\", \"ShutterOverlayGroup\"],\n \"1624\" : [\"US\", \"ShutterPresentationColorCIELabValue\"],\n \"1700\" : [\"CS\", \"CollimatorShape\"],\n \"1702\" : [\"IS\", \"CollimatorLeftVerticalEdge\"],\n \"1704\" : [\"IS\", \"CollimatorRightVerticalEdge\"],\n \"1706\" : [\"IS\", \"CollimatorUpperHorizontalEdge\"],\n \"1708\" : [\"IS\", \"CollimatorLowerHorizontalEdge\"],\n \"1710\" : [\"IS\", \"CenterOfCircularCollimator\"],\n \"1712\" : [\"IS\", \"RadiusOfCircularCollimator\"],\n \"1720\" : [\"IS\", \"VerticesOfThePolygonalCollimator\"],\n \"1800\" : [\"CS\", \"AcquisitionTimeSynchronized\"],\n \"1801\" : [\"SH\", \"TimeSource\"],\n \"1802\" : [\"CS\", \"TimeDistributionProtocol\"],\n \"1803\" : [\"LO\", \"NTPSourceAddress\"],\n \"2001\" : [\"IS\", \"PageNumberVector\"],\n \"2002\" : [\"SH\", \"FrameLabelVector\"],\n \"2003\" : [\"DS\", \"FramePrimaryAngleVector\"],\n \"2004\" : [\"DS\", \"FrameSecondaryAngleVector\"],\n \"2005\" : [\"DS\", \"SliceLocationVector\"],\n \"2006\" : [\"SH\", \"DisplayWindowLabelVector\"],\n \"2010\" : [\"DS\", \"NominalScannedPixelSpacing\"],\n \"2020\" : [\"CS\", \"DigitizingDeviceTransportDirection\"],\n \"2030\" : [\"DS\", \"RotationOfScannedFilm\"],\n \"3100\" : [\"CS\", \"IVUSAcquisition\"],\n \"3101\" : [\"DS\", \"IVUSPullbackRate\"],\n \"3102\" : [\"DS\", \"IVUSGatedRate\"],\n \"3103\" : [\"IS\", \"IVUSPullbackStartFrameNumber\"],\n \"3104\" : [\"IS\", \"IVUSPullbackStopFrameNumber\"],\n \"3105\" : [\"IS\", \"LesionNumber\"],\n \"4000\" : [\"LT\", \"AcquisitionComments\"],\n \"5000\" : [\"SH\", \"OutputPower\"],\n \"5010\" : [\"LO\", \"TransducerData\"],\n \"5012\" : [\"DS\", \"FocusDepth\"],\n \"5020\" : [\"LO\", \"ProcessingFunction\"],\n \"5021\" : [\"LO\", \"PostprocessingFunction\"],\n \"5022\" : [\"DS\", \"MechanicalIndex\"],\n \"5024\" : [\"DS\", \"BoneThermalIndex\"],\n \"5026\" : [\"DS\", \"CranialThermalIndex\"],\n \"5027\" : [\"DS\", \"SoftTissueThermalIndex\"],\n \"5028\" : [\"DS\", \"SoftTissueFocusThermalIndex\"],\n \"5029\" : [\"DS\", \"SoftTissueSurfaceThermalIndex\"],\n \"5030\" : [\"DS\", \"DynamicRange\"],\n \"5040\" : [\"DS\", \"TotalGain\"],\n \"5050\" : [\"IS\", \"DepthOfScanField\"],\n \"5100\" : [\"CS\", \"PatientPosition\"],\n \"5101\" : [\"CS\", \"ViewPosition\"],\n \"5104\" : [\"SQ\", \"ProjectionEponymousNameCodeSequence\"],\n \"5210\" : [\"DS\", \"ImageTransformationMatrix\"],\n \"5212\" : [\"DS\", \"ImageTranslationVector\"],\n \"6000\" : [\"DS\", \"Sensitivity\"],\n \"6011\" : [\"SQ\", \"SequenceOfUltrasoundRegions\"],\n \"6012\" : [\"US\", \"RegionSpatialFormat\"],\n \"6014\" : [\"US\", \"RegionDataType\"],\n \"6016\" : [\"UL\", \"RegionFlags\"],\n \"6018\" : [\"UL\", \"RegionLocationMinX0\"],\n \"601A\" : [\"UL\", \"RegionLocationMinY0\"],\n \"601C\" : [\"UL\", \"RegionLocationMaxX1\"],\n \"601E\" : [\"UL\", \"RegionLocationMaxY1\"],\n \"6020\" : [\"SL\", \"ReferencePixelX0\"],\n \"6022\" : [\"SL\", \"ReferencePixelY0\"],\n \"6024\" : [\"US\", \"PhysicalUnitsXDirection\"],\n \"6026\" : [\"US\", \"PhysicalUnitsYDirection\"],\n \"6028\" : [\"FD\", \"ReferencePixelPhysicalValueX\"],\n \"602A\" : [\"FD\", \"ReferencePixelPhysicalValueY\"],\n \"602C\" : [\"FD\", \"PhysicalDeltaX\"],\n \"602E\" : [\"FD\", \"PhysicalDeltaY\"],\n \"6030\" : [\"UL\", \"TransducerFrequency\"],\n \"6031\" : [\"CS\", \"TransducerType\"],\n \"6032\" : [\"UL\", \"PulseRepetitionFrequency\"],\n \"6034\" : [\"FD\", \"DopplerCorrectionAngle\"],\n \"6036\" : [\"FD\", \"SteeringAngle\"],\n \"6038\" : [\"UL\", \"DopplerSampleVolumeXPositionRetired\"],\n \"6039\" : [\"SL\", \"DopplerSampleVolumeXPosition\"],\n \"603A\" : [\"UL\", \"DopplerSampleVolumeYPositionRetired\"],\n \"603B\" : [\"SL\", \"DopplerSampleVolumeYPosition\"],\n \"603C\" : [\"UL\", \"TMLinePositionX0Retired\"],\n \"603D\" : [\"SL\", \"TMLinePositionX0\"],\n \"603E\" : [\"UL\", \"TMLinePositionY0Retired\"],\n \"603F\" : [\"SL\", \"TMLinePositionY0\"],\n \"6040\" : [\"UL\", \"TMLinePositionX1Retired\"],\n \"6041\" : [\"SL\", \"TMLinePositionX1\"],\n \"6042\" : [\"UL\", \"TMLinePositionY1Retired\"],\n \"6043\" : [\"SL\", \"TMLinePositionY1\"],\n \"6044\" : [\"US\", \"PixelComponentOrganization\"],\n \"6046\" : [\"UL\", \"PixelComponentMask\"],\n \"6048\" : [\"UL\", \"PixelComponentRangeStart\"],\n \"604A\" : [\"UL\", \"PixelComponentRangeStop\"],\n \"604C\" : [\"US\", \"PixelComponentPhysicalUnits\"],\n \"604E\" : [\"US\", \"PixelComponentDataType\"],\n \"6050\" : [\"UL\", \"NumberOfTableBreakPoints\"],\n \"6052\" : [\"UL\", \"TableOfXBreakPoints\"],\n \"6054\" : [\"FD\", \"TableOfYBreakPoints\"],\n \"6056\" : [\"UL\", \"NumberOfTableEntries\"],\n \"6058\" : [\"UL\", \"TableOfPixelValues\"],\n \"605A\" : [\"FL\", \"TableOfParameterValues\"],\n \"6060\" : [\"FL\", \"RWaveTimeVector\"],\n \"7000\" : [\"CS\", \"DetectorConditionsNominalFlag\"],\n \"7001\" : [\"DS\", \"DetectorTemperature\"],\n \"7004\" : [\"CS\", \"DetectorType\"],\n \"7005\" : [\"CS\", \"DetectorConfiguration\"],\n \"7006\" : [\"LT\", \"DetectorDescription\"],\n \"7008\" : [\"LT\", \"DetectorMode\"],\n \"700A\" : [\"SH\", \"DetectorID\"],\n \"700C\" : [\"DA\", \"DateOfLastDetectorCalibration\"],\n \"700E\" : [\"TM\", \"TimeOfLastDetectorCalibration\"],\n \"7010\" : [\"IS\", \"ExposuresOnDetectorSinceLastCalibration\"],\n \"7011\" : [\"IS\", \"ExposuresOnDetectorSinceManufactured\"],\n \"7012\" : [\"DS\", \"DetectorTimeSinceLastExposure\"],\n \"7014\" : [\"DS\", \"DetectorActiveTime\"],\n \"7016\" : [\"DS\", \"DetectorActivationOffsetFromExposure\"],\n \"701A\" : [\"DS\", \"DetectorBinning\"],\n \"7020\" : [\"DS\", \"DetectorElementPhysicalSize\"],\n \"7022\" : [\"DS\", \"DetectorElementSpacing\"],\n \"7024\" : [\"CS\", \"DetectorActiveShape\"],\n \"7026\" : [\"DS\", \"DetectorActiveDimensions\"],\n \"7028\" : [\"DS\", \"DetectorActiveOrigin\"],\n \"702A\" : [\"LO\", \"DetectorManufacturerName\"],\n \"702B\" : [\"LO\", \"DetectorManufacturerModelName\"],\n \"7030\" : [\"DS\", \"FieldOfViewOrigin\"],\n \"7032\" : [\"DS\", \"FieldOfViewRotation\"],\n \"7034\" : [\"CS\", \"FieldOfViewHorizontalFlip\"],\n \"7036\" : [\"FL\", \"PixelDataAreaOriginRelativeToFOV\"],\n \"7038\" : [\"FL\", \"PixelDataAreaRotationAngleRelativeToFOV\"],\n \"7040\" : [\"LT\", \"GridAbsorbingMaterial\"],\n \"7041\" : [\"LT\", \"GridSpacingMaterial\"],\n \"7042\" : [\"DS\", \"GridThickness\"],\n \"7044\" : [\"DS\", \"GridPitch\"],\n \"7046\" : [\"IS\", \"GridAspectRatio\"],\n \"7048\" : [\"DS\", \"GridPeriod\"],\n \"704C\" : [\"DS\", \"GridFocalDistance\"],\n \"7050\" : [\"CS\", \"FilterMaterial\"],\n \"7052\" : [\"DS\", \"FilterThicknessMinimum\"],\n \"7054\" : [\"DS\", \"FilterThicknessMaximum\"],\n \"7056\" : [\"FL\", \"FilterBeamPathLengthMinimum\"],\n \"7058\" : [\"FL\", \"FilterBeamPathLengthMaximum\"],\n \"7060\" : [\"CS\", \"ExposureControlMode\"],\n \"7062\" : [\"LT\", \"ExposureControlModeDescription\"],\n \"7064\" : [\"CS\", \"ExposureStatus\"],\n \"7065\" : [\"DS\", \"PhototimerSetting\"],\n \"8150\" : [\"DS\", \"ExposureTimeInuS\"],\n \"8151\" : [\"DS\", \"XRayTubeCurrentInuA\"],\n \"9004\" : [\"CS\", \"ContentQualification\"],\n \"9005\" : [\"SH\", \"PulseSequenceName\"],\n \"9006\" : [\"SQ\", \"MRImagingModifierSequence\"],\n \"9008\" : [\"CS\", \"EchoPulseSequence\"],\n \"9009\" : [\"CS\", \"InversionRecovery\"],\n \"9010\" : [\"CS\", \"FlowCompensation\"],\n \"9011\" : [\"CS\", \"MultipleSpinEcho\"],\n \"9012\" : [\"CS\", \"MultiPlanarExcitation\"],\n \"9014\" : [\"CS\", \"PhaseContrast\"],\n \"9015\" : [\"CS\", \"TimeOfFlightContrast\"],\n \"9016\" : [\"CS\", \"Spoiling\"],\n \"9017\" : [\"CS\", \"SteadyStatePulseSequence\"],\n \"9018\" : [\"CS\", \"EchoPlanarPulseSequence\"],\n \"9019\" : [\"FD\", \"TagAngleFirstAxis\"],\n \"9020\" : [\"CS\", \"MagnetizationTransfer\"],\n \"9021\" : [\"CS\", \"T2Preparation\"],\n \"9022\" : [\"CS\", \"BloodSignalNulling\"],\n \"9024\" : [\"CS\", \"SaturationRecovery\"],\n \"9025\" : [\"CS\", \"SpectrallySelectedSuppression\"],\n \"9026\" : [\"CS\", \"SpectrallySelectedExcitation\"],\n \"9027\" : [\"CS\", \"SpatialPresaturation\"],\n \"9028\" : [\"CS\", \"Tagging\"],\n \"9029\" : [\"CS\", \"OversamplingPhase\"],\n \"9030\" : [\"FD\", \"TagSpacingFirstDimension\"],\n \"9032\" : [\"CS\", \"GeometryOfKSpaceTraversal\"],\n \"9033\" : [\"CS\", \"SegmentedKSpaceTraversal\"],\n \"9034\" : [\"CS\", \"RectilinearPhaseEncodeReordering\"],\n \"9035\" : [\"FD\", \"TagThickness\"],\n \"9036\" : [\"CS\", \"PartialFourierDirection\"],\n \"9037\" : [\"CS\", \"CardiacSynchronizationTechnique\"],\n \"9041\" : [\"LO\", \"ReceiveCoilManufacturerName\"],\n \"9042\" : [\"SQ\", \"MRReceiveCoilSequence\"],\n \"9043\" : [\"CS\", \"ReceiveCoilType\"],\n \"9044\" : [\"CS\", \"QuadratureReceiveCoil\"],\n \"9045\" : [\"SQ\", \"MultiCoilDefinitionSequence\"],\n \"9046\" : [\"LO\", \"MultiCoilConfiguration\"],\n \"9047\" : [\"SH\", \"MultiCoilElementName\"],\n \"9048\" : [\"CS\", \"MultiCoilElementUsed\"],\n \"9049\" : [\"SQ\", \"MRTransmitCoilSequence\"],\n \"9050\" : [\"LO\", \"TransmitCoilManufacturerName\"],\n \"9051\" : [\"CS\", \"TransmitCoilType\"],\n \"9052\" : [\"FD\", \"SpectralWidth\"],\n \"9053\" : [\"FD\", \"ChemicalShiftReference\"],\n \"9054\" : [\"CS\", \"VolumeLocalizationTechnique\"],\n \"9058\" : [\"US\", \"MRAcquisitionFrequencyEncodingSteps\"],\n \"9059\" : [\"CS\", \"Decoupling\"],\n \"9060\" : [\"CS\", \"DecoupledNucleus\"],\n \"9061\" : [\"FD\", \"DecouplingFrequency\"],\n \"9062\" : [\"CS\", \"DecouplingMethod\"],\n \"9063\" : [\"FD\", \"DecouplingChemicalShiftReference\"],\n \"9064\" : [\"CS\", \"KSpaceFiltering\"],\n \"9065\" : [\"CS\", \"TimeDomainFiltering\"],\n \"9066\" : [\"US\", \"NumberOfZeroFills\"],\n \"9067\" : [\"CS\", \"BaselineCorrection\"],\n \"9069\" : [\"FD\", \"ParallelReductionFactorInPlane\"],\n \"9070\" : [\"FD\", \"CardiacRRIntervalSpecified\"],\n \"9073\" : [\"FD\", \"AcquisitionDuration\"],\n \"9074\" : [\"DT\", \"FrameAcquisitionDateTime\"],\n \"9075\" : [\"CS\", \"DiffusionDirectionality\"],\n \"9076\" : [\"SQ\", \"DiffusionGradientDirectionSequence\"],\n \"9077\" : [\"CS\", \"ParallelAcquisition\"],\n \"9078\" : [\"CS\", \"ParallelAcquisitionTechnique\"],\n \"9079\" : [\"FD\", \"InversionTimes\"],\n \"9080\" : [\"ST\", \"MetaboliteMapDescription\"],\n \"9081\" : [\"CS\", \"PartialFourier\"],\n \"9082\" : [\"FD\", \"EffectiveEchoTime\"],\n \"9083\" : [\"SQ\", \"MetaboliteMapCodeSequence\"],\n \"9084\" : [\"SQ\", \"ChemicalShiftSequence\"],\n \"9085\" : [\"CS\", \"CardiacSignalSource\"],\n \"9087\" : [\"FD\", \"DiffusionBValue\"],\n \"9089\" : [\"FD\", \"DiffusionGradientOrientation\"],\n \"9090\" : [\"FD\", \"VelocityEncodingDirection\"],\n \"9091\" : [\"FD\", \"VelocityEncodingMinimumValue\"],\n \"9092\" : [\"SQ\", \"VelocityEncodingAcquisitionSequence\"],\n \"9093\" : [\"US\", \"NumberOfKSpaceTrajectories\"],\n \"9094\" : [\"CS\", \"CoverageOfKSpace\"],\n \"9095\" : [\"UL\", \"SpectroscopyAcquisitionPhaseRows\"],\n \"9096\" : [\"FD\", \"ParallelReductionFactorInPlaneRetired\"],\n \"9098\" : [\"FD\", \"TransmitterFrequency\"],\n \"9100\" : [\"CS\", \"ResonantNucleus\"],\n \"9101\" : [\"CS\", \"FrequencyCorrection\"],\n \"9103\" : [\"SQ\", \"MRSpectroscopyFOVGeometrySequence\"],\n \"9104\" : [\"FD\", \"SlabThickness\"],\n \"9105\" : [\"FD\", \"SlabOrientation\"],\n \"9106\" : [\"FD\", \"MidSlabPosition\"],\n \"9107\" : [\"SQ\", \"MRSpatialSaturationSequence\"],\n \"9112\" : [\"SQ\", \"MRTimingAndRelatedParametersSequence\"],\n \"9114\" : [\"SQ\", \"MREchoSequence\"],\n \"9115\" : [\"SQ\", \"MRModifierSequence\"],\n \"9117\" : [\"SQ\", \"MRDiffusionSequence\"],\n \"9118\" : [\"SQ\", \"CardiacSynchronizationSequence\"],\n \"9119\" : [\"SQ\", \"MRAveragesSequence\"],\n \"9125\" : [\"SQ\", \"MRFOVGeometrySequence\"],\n \"9126\" : [\"SQ\", \"VolumeLocalizationSequence\"],\n \"9127\" : [\"UL\", \"SpectroscopyAcquisitionDataColumns\"],\n \"9147\" : [\"CS\", \"DiffusionAnisotropyType\"],\n \"9151\" : [\"DT\", \"FrameReferenceDateTime\"],\n \"9152\" : [\"SQ\", \"MRMetaboliteMapSequence\"],\n \"9155\" : [\"FD\", \"ParallelReductionFactorOutOfPlane\"],\n \"9159\" : [\"UL\", \"SpectroscopyAcquisitionOutOfPlanePhaseSteps\"],\n \"9166\" : [\"CS\", \"BulkMotionStatus\"],\n \"9168\" : [\"FD\", \"ParallelReductionFactorSecondInPlane\"],\n \"9169\" : [\"CS\", \"CardiacBeatRejectionTechnique\"],\n \"9170\" : [\"CS\", \"RespiratoryMotionCompensationTechnique\"],\n \"9171\" : [\"CS\", \"RespiratorySignalSource\"],\n \"9172\" : [\"CS\", \"BulkMotionCompensationTechnique\"],\n \"9173\" : [\"CS\", \"BulkMotionSignalSource\"],\n \"9174\" : [\"CS\", \"ApplicableSafetyStandardAgency\"],\n \"9175\" : [\"LO\", \"ApplicableSafetyStandardDescription\"],\n \"9176\" : [\"SQ\", \"OperatingModeSequence\"],\n \"9177\" : [\"CS\", \"OperatingModeType\"],\n \"9178\" : [\"CS\", \"OperatingMode\"],\n \"9179\" : [\"CS\", \"SpecificAbsorptionRateDefinition\"],\n \"9180\" : [\"CS\", \"GradientOutputType\"],\n \"9181\" : [\"FD\", \"SpecificAbsorptionRateValue\"],\n \"9182\" : [\"FD\", \"GradientOutput\"],\n \"9183\" : [\"CS\", \"FlowCompensationDirection\"],\n \"9184\" : [\"FD\", \"TaggingDelay\"],\n \"9185\" : [\"ST\", \"RespiratoryMotionCompensationTechniqueDescription\"],\n \"9186\" : [\"SH\", \"RespiratorySignalSourceID\"],\n \"9195\" : [\"FD\", \"ChemicalShiftMinimumIntegrationLimitInHz\"],\n \"9196\" : [\"FD\", \"ChemicalShiftMaximumIntegrationLimitInHz\"],\n \"9197\" : [\"SQ\", \"MRVelocityEncodingSequence\"],\n \"9198\" : [\"CS\", \"FirstOrderPhaseCorrection\"],\n \"9199\" : [\"CS\", \"WaterReferencedPhaseCorrection\"],\n \"9200\" : [\"CS\", \"MRSpectroscopyAcquisitionType\"],\n \"9214\" : [\"CS\", \"RespiratoryCyclePosition\"],\n \"9217\" : [\"FD\", \"VelocityEncodingMaximumValue\"],\n \"9218\" : [\"FD\", \"TagSpacingSecondDimension\"],\n \"9219\" : [\"SS\", \"TagAngleSecondAxis\"],\n \"9220\" : [\"FD\", \"FrameAcquisitionDuration\"],\n \"9226\" : [\"SQ\", \"MRImageFrameTypeSequence\"],\n \"9227\" : [\"SQ\", \"MRSpectroscopyFrameTypeSequence\"],\n \"9231\" : [\"US\", \"MRAcquisitionPhaseEncodingStepsInPlane\"],\n \"9232\" : [\"US\", \"MRAcquisitionPhaseEncodingStepsOutOfPlane\"],\n \"9234\" : [\"UL\", \"SpectroscopyAcquisitionPhaseColumns\"],\n \"9236\" : [\"CS\", \"CardiacCyclePosition\"],\n \"9239\" : [\"SQ\", \"SpecificAbsorptionRateSequence\"],\n \"9240\" : [\"US\", \"RFEchoTrainLength\"],\n \"9241\" : [\"US\", \"GradientEchoTrainLength\"],\n \"9250\" : [\"CS\", \"ArterialSpinLabelingContrast\"],\n \"9251\" : [\"SQ\", \"MRArterialSpinLabelingSequence\"],\n \"9252\" : [\"LO\", \"ASLTechniqueDescription\"],\n \"9253\" : [\"US\", \"ASLSlabNumber\"],\n \"9254\" : [\"FD \", \"ASLSlabThickness\"],\n \"9255\" : [\"FD \", \"ASLSlabOrientation\"],\n \"9256\" : [\"FD \", \"ASLMidSlabPosition\"],\n \"9257\" : [\"CS\", \"ASLContext\"],\n \"9258\" : [\"UL\", \"ASLPulseTrainDuration\"],\n \"9259\" : [\"CS\", \"ASLCrusherFlag\"],\n \"925A\" : [\"FD\", \"ASLCrusherFlow\"],\n \"925B\" : [\"LO\", \"ASLCrusherDescription\"],\n \"925C\" : [\"CS\", \"ASLBolusCutoffFlag\"],\n \"925D\" : [\"SQ\", \"ASLBolusCutoffTimingSequence\"],\n \"925E\" : [\"LO\", \"ASLBolusCutoffTechnique\"],\n \"925F\" : [\"UL\", \"ASLBolusCutoffDelayTime\"],\n \"9260\" : [\"SQ\", \"ASLSlabSequence\"],\n \"9295\" : [\"FD\", \"ChemicalShiftMinimumIntegrationLimitInppm\"],\n \"9296\" : [\"FD\", \"ChemicalShiftMaximumIntegrationLimitInppm\"],\n \"9301\" : [\"SQ\", \"CTAcquisitionTypeSequence\"],\n \"9302\" : [\"CS\", \"AcquisitionType\"],\n \"9303\" : [\"FD\", \"TubeAngle\"],\n \"9304\" : [\"SQ\", \"CTAcquisitionDetailsSequence\"],\n \"9305\" : [\"FD\", \"RevolutionTime\"],\n \"9306\" : [\"FD\", \"SingleCollimationWidth\"],\n \"9307\" : [\"FD\", \"TotalCollimationWidth\"],\n \"9308\" : [\"SQ\", \"CTTableDynamicsSequence\"],\n \"9309\" : [\"FD\", \"TableSpeed\"],\n \"9310\" : [\"FD\", \"TableFeedPerRotation\"],\n \"9311\" : [\"FD\", \"SpiralPitchFactor\"],\n \"9312\" : [\"SQ\", \"CTGeometrySequence\"],\n \"9313\" : [\"FD\", \"DataCollectionCenterPatient\"],\n \"9314\" : [\"SQ\", \"CTReconstructionSequence\"],\n \"9315\" : [\"CS\", \"ReconstructionAlgorithm\"],\n \"9316\" : [\"CS\", \"ConvolutionKernelGroup\"],\n \"9317\" : [\"FD\", \"ReconstructionFieldOfView\"],\n \"9318\" : [\"FD\", \"ReconstructionTargetCenterPatient\"],\n \"9319\" : [\"FD\", \"ReconstructionAngle\"],\n \"9320\" : [\"SH\", \"ImageFilter\"],\n \"9321\" : [\"SQ\", \"CTExposureSequence\"],\n \"9322\" : [\"FD\", \"ReconstructionPixelSpacing\"],\n \"9323\" : [\"CS\", \"ExposureModulationType\"],\n \"9324\" : [\"FD\", \"EstimatedDoseSaving\"],\n \"9325\" : [\"SQ\", \"CTXRayDetailsSequence\"],\n \"9326\" : [\"SQ\", \"CTPositionSequence\"],\n \"9327\" : [\"FD\", \"TablePosition\"],\n \"9328\" : [\"FD\", \"ExposureTimeInms\"],\n \"9329\" : [\"SQ\", \"CTImageFrameTypeSequence\"],\n \"9330\" : [\"FD\", \"XRayTubeCurrentInmA\"],\n \"9332\" : [\"FD\", \"ExposureInmAs\"],\n \"9333\" : [\"CS\", \"ConstantVolumeFlag\"],\n \"9334\" : [\"CS\", \"FluoroscopyFlag\"],\n \"9335\" : [\"FD\", \"DistanceSourceToDataCollectionCenter\"],\n \"9337\" : [\"US\", \"ContrastBolusAgentNumber\"],\n \"9338\" : [\"SQ\", \"ContrastBolusIngredientCodeSequence\"],\n \"9340\" : [\"SQ\", \"ContrastAdministrationProfileSequence\"],\n \"9341\" : [\"SQ\", \"ContrastBolusUsageSequence\"],\n \"9342\" : [\"CS\", \"ContrastBolusAgentAdministered\"],\n \"9343\" : [\"CS\", \"ContrastBolusAgentDetected\"],\n \"9344\" : [\"CS\", \"ContrastBolusAgentPhase\"],\n \"9345\" : [\"FD\", \"CTDIvol\"],\n \"9346\" : [\"SQ\", \"CTDIPhantomTypeCodeSequence\"],\n \"9351\" : [\"FL\", \"CalciumScoringMassFactorPatient\"],\n \"9352\" : [\"FL\", \"CalciumScoringMassFactorDevice\"],\n \"9353\" : [\"FL\", \"EnergyWeightingFactor\"],\n \"9360\" : [\"SQ\", \"CTAdditionalXRaySourceSequence\"],\n \"9401\" : [\"SQ\", \"ProjectionPixelCalibrationSequence\"],\n \"9402\" : [\"FL\", \"DistanceSourceToIsocenter\"],\n \"9403\" : [\"FL\", \"DistanceObjectToTableTop\"],\n \"9404\" : [\"FL\", \"ObjectPixelSpacingInCenterOfBeam\"],\n \"9405\" : [\"SQ\", \"PositionerPositionSequence\"],\n \"9406\" : [\"SQ\", \"TablePositionSequence\"],\n \"9407\" : [\"SQ\", \"CollimatorShapeSequence\"],\n \"9410\" : [\"CS\", \"PlanesInAcquisition\"],\n \"9412\" : [\"SQ\", \"XAXRFFrameCharacteristicsSequence\"],\n \"9417\" : [\"SQ\", \"FrameAcquisitionSequence\"],\n \"9420\" : [\"CS\", \"XRayReceptorType\"],\n \"9423\" : [\"LO\", \"AcquisitionProtocolName\"],\n \"9424\" : [\"LT\", \"AcquisitionProtocolDescription\"],\n \"9425\" : [\"CS\", \"ContrastBolusIngredientOpaque\"],\n \"9426\" : [\"FL\", \"DistanceReceptorPlaneToDetectorHousing\"],\n \"9427\" : [\"CS\", \"IntensifierActiveShape\"],\n \"9428\" : [\"FL\", \"IntensifierActiveDimensions\"],\n \"9429\" : [\"FL\", \"PhysicalDetectorSize\"],\n \"9430\" : [\"FL\", \"PositionOfIsocenterProjection\"],\n \"9432\" : [\"SQ\", \"FieldOfViewSequence\"],\n \"9433\" : [\"LO\", \"FieldOfViewDescription\"],\n \"9434\" : [\"SQ\", \"ExposureControlSensingRegionsSequence\"],\n \"9435\" : [\"CS\", \"ExposureControlSensingRegionShape\"],\n \"9436\" : [\"SS\", \"ExposureControlSensingRegionLeftVerticalEdge\"],\n \"9437\" : [\"SS\", \"ExposureControlSensingRegionRightVerticalEdge\"],\n \"9438\" : [\"SS\", \"ExposureControlSensingRegionUpperHorizontalEdge\"],\n \"9439\" : [\"SS\", \"ExposureControlSensingRegionLowerHorizontalEdge\"],\n \"9440\" : [\"SS\", \"CenterOfCircularExposureControlSensingRegion\"],\n \"9441\" : [\"US\", \"RadiusOfCircularExposureControlSensingRegion\"],\n \"9442\" : [\"SS\", \"VerticesOfThePolygonalExposureControlSensingRegion\"],\n \"9447\" : [\"FL\", \"ColumnAngulationPatient\"],\n \"9449\" : [\"FL\", \"BeamAngle\"],\n \"9451\" : [\"SQ\", \"FrameDetectorParametersSequence\"],\n \"9452\" : [\"FL\", \"CalculatedAnatomyThickness\"],\n \"9455\" : [\"SQ\", \"CalibrationSequence\"],\n \"9456\" : [\"SQ\", \"ObjectThicknessSequence\"],\n \"9457\" : [\"CS\", \"PlaneIdentification\"],\n \"9461\" : [\"FL\", \"FieldOfViewDimensionsInFloat\"],\n \"9462\" : [\"SQ\", \"IsocenterReferenceSystemSequence\"],\n \"9463\" : [\"FL\", \"PositionerIsocenterPrimaryAngle\"],\n \"9464\" : [\"FL\", \"PositionerIsocenterSecondaryAngle\"],\n \"9465\" : [\"FL\", \"PositionerIsocenterDetectorRotationAngle\"],\n \"9466\" : [\"FL\", \"TableXPositionToIsocenter\"],\n \"9467\" : [\"FL\", \"TableYPositionToIsocenter\"],\n \"9468\" : [\"FL\", \"TableZPositionToIsocenter\"],\n \"9469\" : [\"FL\", \"TableHorizontalRotationAngle\"],\n \"9470\" : [\"FL\", \"TableHeadTiltAngle\"],\n \"9471\" : [\"FL\", \"TableCradleTiltAngle\"],\n \"9472\" : [\"SQ\", \"FrameDisplayShutterSequence\"],\n \"9473\" : [\"FL\", \"AcquiredImageAreaDoseProduct\"],\n \"9474\" : [\"CS\", \"CArmPositionerTabletopRelationship\"],\n \"9476\" : [\"SQ\", \"XRayGeometrySequence\"],\n \"9477\" : [\"SQ\", \"IrradiationEventIdentificationSequence\"],\n \"9504\" : [\"SQ\", \"XRay3DFrameTypeSequence\"],\n \"9506\" : [\"SQ\", \"ContributingSourcesSequence\"],\n \"9507\" : [\"SQ\", \"XRay3DAcquisitionSequence\"],\n \"9508\" : [\"FL\", \"PrimaryPositionerScanArc\"],\n \"9509\" : [\"FL\", \"SecondaryPositionerScanArc\"],\n \"9510\" : [\"FL \", \"PrimaryPositionerScanStartAngle\"],\n \"9511\" : [\"FL\", \"SecondaryPositionerScanStartAngle\"],\n \"9514\" : [\"FL\", \"PrimaryPositionerIncrement\"],\n \"9515\" : [\"FL\", \"SecondaryPositionerIncrement\"],\n \"9516\" : [\"DT\", \"StartAcquisitionDateTime\"],\n \"9517\" : [\"DT\", \"EndAcquisitionDateTime\"],\n \"9524\" : [\"LO\", \"ApplicationName\"],\n \"9525\" : [\"LO\", \"ApplicationVersion\"],\n \"9526\" : [\"LO\", \"ApplicationManufacturer\"],\n \"9527\" : [\"CS\", \"AlgorithmType\"],\n \"9528\" : [\"LO\", \"AlgorithmDescription\"],\n \"9530\" : [\"SQ\", \"XRay3DReconstructionSequence\"],\n \"9531\" : [\"LO\", \"ReconstructionDescription\"],\n \"9538\" : [\"SQ\", \"PerProjectionAcquisitionSequence\"],\n \"9601\" : [\"SQ\", \"DiffusionBMatrixSequence\"],\n \"9602\" : [\"FD\", \"DiffusionBValueXX\"],\n \"9603\" : [\"FD\", \"DiffusionBValueXY\"],\n \"9604\" : [\"FD\", \"DiffusionBValueXZ\"],\n \"9605\" : [\"FD\", \"DiffusionBValueYY\"],\n \"9606\" : [\"FD\", \"DiffusionBValueYZ\"],\n \"9607\" : [\"FD\", \"DiffusionBValueZZ\"],\n \"9701\" : [\"DT\", \"DecayCorrectionDateTime\"],\n \"9715\" : [\"FD\", \"StartDensityThreshold\"],\n \"9716\" : [\"FD\", \"StartRelativeDensityDifferenceThreshold\"],\n \"9717\" : [\"FD\", \"StartCardiacTriggerCountThreshold\"],\n \"9718\" : [\"FD\", \"StartRespiratoryTriggerCountThreshold\"],\n \"9719\" : [\"FD\", \"TerminationCountsThreshold\"],\n \"9720\" : [\"FD\", \"TerminationDensityThreshold\"],\n \"9721\" : [\"FD\", \"TerminationRelativeDensityThreshold\"],\n \"9722\" : [\"FD\", \"TerminationTimeThreshold\"],\n \"9723\" : [\"FD\", \"TerminationCardiacTriggerCountThreshold\"],\n \"9724\" : [\"FD\", \"TerminationRespiratoryTriggerCountThreshold\"],\n \"9725\" : [\"CS\", \"DetectorGeometry\"],\n \"9726\" : [\"FD\", \"TransverseDetectorSeparation\"],\n \"9727\" : [\"FD\", \"AxialDetectorDimension\"],\n \"9729\" : [\"US\", \"RadiopharmaceuticalAgentNumber\"],\n \"9732\" : [\"SQ\", \"PETFrameAcquisitionSequence\"],\n \"9733\" : [\"SQ\", \"PETDetectorMotionDetailsSequence\"],\n \"9734\" : [\"SQ\", \"PETTableDynamicsSequence\"],\n \"9735\" : [\"SQ\", \"PETPositionSequence\"],\n \"9736\" : [\"SQ\", \"PETFrameCorrectionFactorsSequence\"],\n \"9737\" : [\"SQ\", \"RadiopharmaceuticalUsageSequence\"],\n \"9738\" : [\"CS\", \"AttenuationCorrectionSource\"],\n \"9739\" : [\"US\", \"NumberOfIterations\"],\n \"9740\" : [\"US\", \"NumberOfSubsets\"],\n \"9749\" : [\"SQ\", \"PETReconstructionSequence\"],\n \"9751\" : [\"SQ\", \"PETFrameTypeSequence\"],\n \"9755\" : [\"CS\", \"TimeOfFlightInformationUsed\"],\n \"9756\" : [\"CS\", \"ReconstructionType\"],\n \"9758\" : [\"CS\", \"DecayCorrected\"],\n \"9759\" : [\"CS\", \"AttenuationCorrected\"],\n \"9760\" : [\"CS\", \"ScatterCorrected\"],\n \"9761\" : [\"CS\", \"DeadTimeCorrected\"],\n \"9762\" : [\"CS\", \"GantryMotionCorrected\"],\n \"9763\" : [\"CS\", \"PatientMotionCorrected\"],\n \"9764\" : [\"CS\", \"CountLossNormalizationCorrected\"],\n \"9765\" : [\"CS\", \"RandomsCorrected\"],\n \"9766\" : [\"CS\", \"NonUniformRadialSamplingCorrected\"],\n \"9767\" : [\"CS\", \"SensitivityCalibrated\"],\n \"9768\" : [\"CS\", \"DetectorNormalizationCorrection\"],\n \"9769\" : [\"CS\", \"IterativeReconstructionMethod\"],\n \"9770\" : [\"CS\", \"AttenuationCorrectionTemporalRelationship\"],\n \"9771\" : [\"SQ\", \"PatientPhysiologicalStateSequence\"],\n \"9772\" : [\"SQ\", \"PatientPhysiologicalStateCodeSequence\"],\n \"9801\" : [\"FD\", \"DepthsOfFocus\"],\n \"9803\" : [\"SQ\", \"ExcludedIntervalsSequence\"],\n \"9804\" : [\"DT\", \"ExclusionStartDatetime\"],\n \"9805\" : [\"FD\", \"ExclusionDuration\"],\n \"9806\" : [\"SQ\", \"USImageDescriptionSequence\"],\n \"9807\" : [\"SQ\", \"ImageDataTypeSequence\"],\n \"9808\" : [\"CS\", \"DataType\"],\n \"9809\" : [\"SQ\", \"TransducerScanPatternCodeSequence\"],\n \"980B\" : [\"CS\", \"AliasedDataType\"],\n \"980C\" : [\"CS\", \"PositionMeasuringDeviceUsed\"],\n \"980D\" : [\"SQ\", \"TransducerGeometryCodeSequence\"],\n \"980E\" : [\"SQ\", \"TransducerBeamSteeringCodeSequence\"],\n \"980F\" : [\"SQ\", \"TransducerApplicationCodeSequence\"],\n \"A001\" : [\"SQ\", \"ContributingEquipmentSequence\"],\n \"A002\" : [\"DT\", \"ContributionDateTime\"],\n \"A003\" : [\"ST\", \"ContributionDescription\"]\n },\n \"0020\" : {\n \"000D\" : [\"UI\", \"StudyInstanceUID\"],\n \"000E\" : [\"UI\", \"SeriesInstanceUID\"],\n \"0010\" : [\"SH\", \"StudyID\"],\n \"0011\" : [\"IS\", \"SeriesNumber\"],\n \"0012\" : [\"IS\", \"AcquisitionNumber\"],\n \"0013\" : [\"IS\", \"InstanceNumber\"],\n \"0014\" : [\"IS\", \"IsotopeNumber\"],\n \"0015\" : [\"IS\", \"PhaseNumber\"],\n \"0016\" : [\"IS\", \"IntervalNumber\"],\n \"0017\" : [\"IS\", \"TimeSlotNumber\"],\n \"0018\" : [\"IS\", \"AngleNumber\"],\n \"0019\" : [\"IS\", \"ItemNumber\"],\n \"0020\" : [\"CS\", \"PatientOrientation\"],\n \"0022\" : [\"IS\", \"OverlayNumber\"],\n \"0024\" : [\"IS\", \"CurveNumber\"],\n \"0026\" : [\"IS\", \"LUTNumber\"],\n \"0030\" : [\"DS\", \"ImagePosition\"],\n \"0032\" : [\"DS\", \"ImagePositionPatient\"],\n \"0035\" : [\"DS\", \"ImageOrientation\"],\n \"0037\" : [\"DS\", \"ImageOrientationPatient\"],\n \"0050\" : [\"DS\", \"Location\"],\n \"0052\" : [\"UI\", \"FrameOfReferenceUID\"],\n \"0060\" : [\"CS\", \"Laterality\"],\n \"0062\" : [\"CS\", \"ImageLaterality\"],\n \"0070\" : [\"LO\", \"ImageGeometryType\"],\n \"0080\" : [\"CS\", \"MaskingImage\"],\n \"00AA\" : [\"IS\", \"ReportNumber\"],\n \"0100\" : [\"IS\", \"TemporalPositionIdentifier\"],\n \"0105\" : [\"IS\", \"NumberOfTemporalPositions\"],\n \"0110\" : [\"DS\", \"TemporalResolution\"],\n \"0200\" : [\"UI\", \"SynchronizationFrameOfReferenceUID\"],\n \"0242\" : [\"UI\", \"SOPInstanceUIDOfConcatenationSource\"],\n \"1000\" : [\"IS\", \"SeriesInStudy\"],\n \"1001\" : [\"IS\", \"AcquisitionsInSeries\"],\n \"1002\" : [\"IS\", \"ImagesInAcquisition\"],\n \"1003\" : [\"IS\", \"ImagesInSeries\"],\n \"1004\" : [\"IS\", \"AcquisitionsInStudy\"],\n \"1005\" : [\"IS\", \"ImagesInStudy\"],\n \"1020\" : [\"LO\", \"Reference\"],\n \"1040\" : [\"LO\", \"PositionReferenceIndicator\"],\n \"1041\" : [\"DS\", \"SliceLocation\"],\n \"1070\" : [\"IS\", \"OtherStudyNumbers\"],\n \"1200\" : [\"IS\", \"NumberOfPatientRelatedStudies\"],\n \"1202\" : [\"IS\", \"NumberOfPatientRelatedSeries\"],\n \"1204\" : [\"IS\", \"NumberOfPatientRelatedInstances\"],\n \"1206\" : [\"IS\", \"NumberOfStudyRelatedSeries\"],\n \"1208\" : [\"IS\", \"NumberOfStudyRelatedInstances\"],\n \"1209\" : [\"IS\", \"NumberOfSeriesRelatedInstances\"],\n \"3401\" : [\"CS\", \"ModifyingDeviceID\"],\n \"3402\" : [\"CS\", \"ModifiedImageID\"],\n \"3403\" : [\"DA\", \"ModifiedImageDate\"],\n \"3404\" : [\"LO\", \"ModifyingDeviceManufacturer\"],\n \"3405\" : [\"TM\", \"ModifiedImageTime\"],\n \"3406\" : [\"LO\", \"ModifiedImageDescription\"],\n \"4000\" : [\"LT\", \"ImageComments\"],\n \"5000\" : [\"AT\", \"OriginalImageIdentification\"],\n \"5002\" : [\"LO\", \"OriginalImageIdentificationNomenclature\"],\n \"9056\" : [\"SH\", \"StackID\"],\n \"9057\" : [\"UL\", \"InStackPositionNumber\"],\n \"9071\" : [\"SQ\", \"FrameAnatomySequence\"],\n \"9072\" : [\"CS\", \"FrameLaterality\"],\n \"9111\" : [\"SQ\", \"FrameContentSequence\"],\n \"9113\" : [\"SQ\", \"PlanePositionSequence\"],\n \"9116\" : [\"SQ\", \"PlaneOrientationSequence\"],\n \"9128\" : [\"UL\", \"TemporalPositionIndex\"],\n \"9153\" : [\"FD\", \"NominalCardiacTriggerDelayTime\"],\n \"9154\" : [\"FL\", \"NominalCardiacTriggerTimePriorToRPeak\"],\n \"9155\" : [\"FL\", \"ActualCardiacTriggerTimePriorToRPeak\"],\n \"9156\" : [\"US\", \"FrameAcquisitionNumber\"],\n \"9157\" : [\"UL\", \"DimensionIndexValues\"],\n \"9158\" : [\"LT\", \"FrameComments\"],\n \"9161\" : [\"UI\", \"ConcatenationUID\"],\n \"9162\" : [\"US\", \"InConcatenationNumber\"],\n \"9163\" : [\"US\", \"InConcatenationTotalNumber\"],\n \"9164\" : [\"UI\", \"DimensionOrganizationUID\"],\n \"9165\" : [\"AT\", \"DimensionIndexPointer\"],\n \"9167\" : [\"AT\", \"FunctionalGroupPointer\"],\n \"9213\" : [\"LO\", \"DimensionIndexPrivateCreator\"],\n \"9221\" : [\"SQ\", \"DimensionOrganizationSequence\"],\n \"9222\" : [\"SQ\", \"DimensionIndexSequence\"],\n \"9228\" : [\"UL\", \"ConcatenationFrameOffsetNumber\"],\n \"9238\" : [\"LO\", \"FunctionalGroupPrivateCreator\"],\n \"9241\" : [\"FL\", \"NominalPercentageOfCardiacPhase\"],\n \"9245\" : [\"FL\", \"NominalPercentageOfRespiratoryPhase\"],\n \"9246\" : [\"FL\", \"StartingRespiratoryAmplitude\"],\n \"9247\" : [\"CS\", \"StartingRespiratoryPhase\"],\n \"9248\" : [\"FL\", \"EndingRespiratoryAmplitude\"],\n \"9249\" : [\"CS\", \"EndingRespiratoryPhase\"],\n \"9250\" : [\"CS\", \"RespiratoryTriggerType\"],\n \"9251\" : [\"FD\", \"RRIntervalTimeNominal\"],\n \"9252\" : [\"FD\", \"ActualCardiacTriggerDelayTime\"],\n \"9253\" : [\"SQ\", \"RespiratorySynchronizationSequence\"],\n \"9254\" : [\"FD\", \"RespiratoryIntervalTime\"],\n \"9255\" : [\"FD\", \"NominalRespiratoryTriggerDelayTime\"],\n \"9256\" : [\"FD\", \"RespiratoryTriggerDelayThreshold\"],\n \"9257\" : [\"FD\", \"ActualRespiratoryTriggerDelayTime\"],\n \"9301\" : [\"FD\", \"ImagePositionVolume\"],\n \"9302\" : [\"FD\", \"ImageOrientationVolume\"],\n \"9307\" : [\"CS\", \"UltrasoundAcquisitionGeometry\"],\n \"9308\" : [\"FD\", \"ApexPosition\"],\n \"9309\" : [\"FD\", \"VolumeToTransducerMappingMatrix\"],\n \"930A\" : [\"FD\", \"VolumeToTableMappingMatrix\"],\n \"930C\" : [\"CS\", \"PatientFrameOfReferenceSource\"],\n \"930D\" : [\"FD\", \"TemporalPositionTimeOffset\"],\n \"930E\" : [\"SQ\", \"PlanePositionVolumeSequence\"],\n \"930F\" : [\"SQ\", \"PlaneOrientationVolumeSequence\"],\n \"9310\" : [\"SQ\", \"TemporalPositionSequence\"],\n \"9311\" : [\"CS\", \"DimensionOrganizationType\"],\n \"9312\" : [\"UI\", \"VolumeFrameOfReferenceUID\"],\n \"9313\" : [\"UI\", \"TableFrameOfReferenceUID\"],\n \"9421\" : [\"LO\", \"DimensionDescriptionLabel\"],\n \"9450\" : [\"SQ\", \"PatientOrientationInFrameSequence\"],\n \"9453\" : [\"LO\", \"FrameLabel\"],\n \"9518\" : [\"US\", \"AcquisitionIndex\"],\n \"9529\" : [\"SQ\", \"ContributingSOPInstancesReferenceSequence\"],\n \"9536\" : [\"US\", \"ReconstructionIndex\"]\n },\n \"0022\" : {\n \"0001\" : [\"US\", \"LightPathFilterPassThroughWavelength\"],\n \"0002\" : [\"US\", \"LightPathFilterPassBand\"],\n \"0003\" : [\"US\", \"ImagePathFilterPassThroughWavelength\"],\n \"0004\" : [\"US\", \"ImagePathFilterPassBand\"],\n \"0005\" : [\"CS\", \"PatientEyeMovementCommanded\"],\n \"0006\" : [\"SQ\", \"PatientEyeMovementCommandCodeSequence\"],\n \"0007\" : [\"FL\", \"SphericalLensPower\"],\n \"0008\" : [\"FL\", \"CylinderLensPower\"],\n \"0009\" : [\"FL\", \"CylinderAxis\"],\n \"000A\" : [\"FL\", \"EmmetropicMagnification\"],\n \"000B\" : [\"FL\", \"IntraOcularPressure\"],\n \"000C\" : [\"FL\", \"HorizontalFieldOfView\"],\n \"000D\" : [\"CS\", \"PupilDilated\"],\n \"000E\" : [\"FL\", \"DegreeOfDilation\"],\n \"0010\" : [\"FL\", \"StereoBaselineAngle\"],\n \"0011\" : [\"FL\", \"StereoBaselineDisplacement\"],\n \"0012\" : [\"FL\", \"StereoHorizontalPixelOffset\"],\n \"0013\" : [\"FL\", \"StereoVerticalPixelOffset\"],\n \"0014\" : [\"FL\", \"StereoRotation\"],\n \"0015\" : [\"SQ\", \"AcquisitionDeviceTypeCodeSequence\"],\n \"0016\" : [\"SQ\", \"IlluminationTypeCodeSequence\"],\n \"0017\" : [\"SQ\", \"LightPathFilterTypeStackCodeSequence\"],\n \"0018\" : [\"SQ\", \"ImagePathFilterTypeStackCodeSequence\"],\n \"0019\" : [\"SQ\", \"LensesCodeSequence\"],\n \"001A\" : [\"SQ\", \"ChannelDescriptionCodeSequence\"],\n \"001B\" : [\"SQ\", \"RefractiveStateSequence\"],\n \"001C\" : [\"SQ\", \"MydriaticAgentCodeSequence\"],\n \"001D\" : [\"SQ\", \"RelativeImagePositionCodeSequence\"],\n \"001E\" : [\"FL\", \"CameraAngleOfView\"],\n \"0020\" : [\"SQ\", \"StereoPairsSequence\"],\n \"0021\" : [\"SQ\", \"LeftImageSequence\"],\n \"0022\" : [\"SQ\", \"RightImageSequence\"],\n \"0030\" : [\"FL\", \"AxialLengthOfTheEye\"],\n \"0031\" : [\"SQ\", \"OphthalmicFrameLocationSequence\"],\n \"0032\" : [\"FL\", \"ReferenceCoordinates\"],\n \"0035\" : [\"FL\", \"DepthSpatialResolution\"],\n \"0036\" : [\"FL\", \"MaximumDepthDistortion\"],\n \"0037\" : [\"FL\", \"AlongScanSpatialResolution\"],\n \"0038\" : [\"FL\", \"MaximumAlongScanDistortion\"],\n \"0039\" : [\"CS\", \"OphthalmicImageOrientation\"],\n \"0041\" : [\"FL\", \"DepthOfTransverseImage\"],\n \"0042\" : [\"SQ\", \"MydriaticAgentConcentrationUnitsSequence\"],\n \"0048\" : [\"FL\", \"AcrossScanSpatialResolution\"],\n \"0049\" : [\"FL\", \"MaximumAcrossScanDistortion\"],\n \"004E\" : [\"DS\", \"MydriaticAgentConcentration\"],\n \"0055\" : [\"FL\", \"IlluminationWaveLength\"],\n \"0056\" : [\"FL\", \"IlluminationPower\"],\n \"0057\" : [\"FL\", \"IlluminationBandwidth\"],\n \"0058\" : [\"SQ\", \"MydriaticAgentSequence\"],\n \"1007\" : [\"SQ\", \"OphthalmicAxialMeasurementsRightEyeSequence\"],\n \"1008\" : [\"SQ\", \"OphthalmicAxialMeasurementsLeftEyeSequence\"],\n \"1010\" : [\"CS\", \"OphthalmicAxialLengthMeasurementsType\"],\n \"1019\" : [\"FL\", \"OphthalmicAxialLength\"],\n \"1024\" : [\"SQ\", \"LensStatusCodeSequence\"],\n \"1025\" : [\"SQ\", \"VitreousStatusCodeSequence\"],\n \"1028\" : [\"SQ\", \"IOLFormulaCodeSequence\"],\n \"1029\" : [\"LO\", \"IOLFormulaDetail\"],\n \"1033\" : [\"FL\", \"KeratometerIndex\"],\n \"1035\" : [\"SQ\", \"SourceOfOphthalmicAxialLengthCodeSequence\"],\n \"1037\" : [\"FL\", \"TargetRefraction\"],\n \"1039\" : [\"CS\", \"RefractiveProcedureOccurred\"],\n \"1040\" : [\"SQ\", \"RefractiveSurgeryTypeCodeSequence\"],\n \"1044\" : [\"SQ\", \"OphthalmicUltrasoundAxialMeasurementsTypeCodeSequence\"],\n \"1050\" : [\"SQ\", \"OphthalmicAxialLengthMeasurementsSequence\"],\n \"1053\" : [\"FL\", \"IOLPower\"],\n \"1054\" : [\"FL\", \"PredictedRefractiveError\"],\n \"1059\" : [\"FL\", \"OphthalmicAxialLengthVelocity\"],\n \"1065\" : [\"LO\", \"LensStatusDescription\"],\n \"1066\" : [\"LO\", \"VitreousStatusDescription\"],\n \"1090\" : [\"SQ\", \"IOLPowerSequence\"],\n \"1092\" : [\"SQ\", \"LensConstantSequence\"],\n \"1093\" : [\"LO\", \"IOLManufacturer\"],\n \"1094\" : [\"LO\", \"LensConstantDescription\"],\n \"1096\" : [\"SQ\", \"KeratometryMeasurementTypeCodeSequence\"],\n \"1100\" : [\"SQ\", \"ReferencedOphthalmicAxialMeasurementsSequence\"],\n \"1101\" : [\"SQ\", \"OphthalmicAxialLengthMeasurementsSegmentNameCodeSequence\"],\n \"1103\" : [\"SQ\", \"RefractiveErrorBeforeRefractiveSurgeryCodeSequence\"],\n \"1121\" : [\"FL\", \"IOLPowerForExactEmmetropia\"],\n \"1122\" : [\"FL\", \"IOLPowerForExactTargetRefraction\"],\n \"1125\" : [\"SQ\", \"AnteriorChamberDepthDefinitionCodeSequence\"],\n \"1130\" : [\"FL\", \"LensThickness\"],\n \"1131\" : [\"FL\", \"AnteriorChamberDepth\"],\n \"1132\" : [\"SQ\", \"SourceOfLensThicknessDataCodeSequence\"],\n \"1133\" : [\"SQ\", \"SourceOfAnteriorChamberDepthDataCodeSequence\"],\n \"1135\" : [\"SQ\", \"SourceOfRefractiveErrorDataCodeSequence\"],\n \"1140\" : [\"CS\", \"OphthalmicAxialLengthMeasurementModified\"],\n \"1150\" : [\"SQ\", \"OphthalmicAxialLengthDataSourceCodeSequence\"],\n \"1153\" : [\"SQ\", \"OphthalmicAxialLengthAcquisitionMethodCodeSequence\"],\n \"1155\" : [\"FL\", \"SignalToNoiseRatio\"],\n \"1159\" : [\"LO\", \"OphthalmicAxialLengthDataSourceDescription\"],\n \"1210\" : [\"SQ\", \"OphthalmicAxialLengthMeasurementsTotalLengthSequence\"],\n \"1211\" : [\"SQ\", \"OphthalmicAxialLengthMeasurementsSegmentalLengthSequence\"],\n \"1212\" : [\"SQ\", \"OphthalmicAxialLengthMeasurementsLengthSummationSequence\"],\n \"1220\" : [\"SQ\", \"UltrasoundOphthalmicAxialLengthMeasurementsSequence\"],\n \"1225\" : [\"SQ\", \"OpticalOphthalmicAxialLengthMeasurementsSequence\"],\n \"1230\" : [\"SQ\", \"UltrasoundSelectedOphthalmicAxialLengthSequence\"],\n \"1250\" : [\"SQ\", \"OphthalmicAxialLengthSelectionMethodCodeSequence\"],\n \"1255\" : [\"SQ\", \"OpticalSelectedOphthalmicAxialLengthSequence\"],\n \"1257\" : [\"SQ\", \"SelectedSegmentalOphthalmicAxialLengthSequence\"],\n \"1260\" : [\"SQ\", \"SelectedTotalOphthalmicAxialLengthSequence\"],\n \"1262\" : [\"SQ\", \"OphthalmicAxialLengthQualityMetricSequence\"],\n \"1273\" : [\"LO\", \"OphthalmicAxialLengthQualityMetricTypeDescription\"],\n \"1300\" : [\"SQ\", \"IntraocularLensCalculationsRightEyeSequence\"],\n \"1310\" : [\"SQ\", \"IntraocularLensCalculationsLeftEyeSequence\"],\n \"1330\" : [\"SQ\", \"ReferencedOphthalmicAxialLengthMeasurementQCImageSequence\"]\n },\n \"0024\" : {\n \"0010\" : [\"FL\", \"VisualFieldHorizontalExtent\"],\n \"0011\" : [\"FL\", \"VisualFieldVerticalExtent\"],\n \"0012\" : [\"CS\", \"VisualFieldShape\"],\n \"0016\" : [\"SQ\", \"ScreeningTestModeCodeSequence\"],\n \"0018\" : [\"FL\", \"MaximumStimulusLuminance\"],\n \"0020\" : [\"FL\", \"BackgroundLuminance\"],\n \"0021\" : [\"SQ\", \"StimulusColorCodeSequence\"],\n \"0024\" : [\"SQ\", \"BackgroundIlluminationColorCodeSequence\"],\n \"0025\" : [\"FL\", \"StimulusArea\"],\n \"0028\" : [\"FL\", \"StimulusPresentationTime\"],\n \"0032\" : [\"SQ\", \"FixationSequence\"],\n \"0033\" : [\"SQ\", \"FixationMonitoringCodeSequence\"],\n \"0034\" : [\"SQ\", \"VisualFieldCatchTrialSequence\"],\n \"0035\" : [\"US\", \"FixationCheckedQuantity\"],\n \"0036\" : [\"US\", \"PatientNotProperlyFixatedQuantity\"],\n \"0037\" : [\"CS\", \"PresentedVisualStimuliDataFlag\"],\n \"0038\" : [\"US\", \"NumberOfVisualStimuli\"],\n \"0039\" : [\"CS\", \"ExcessiveFixationLossesDataFlag\"],\n \"0040\" : [\"CS\", \"ExcessiveFixationLosses\"],\n \"0042\" : [\"US\", \"StimuliRetestingQuantity\"],\n \"0044\" : [\"LT\", \"CommentsOnPatientPerformanceOfVisualField\"],\n \"0045\" : [\"CS\", \"FalseNegativesEstimateFlag\"],\n \"0046\" : [\"FL\", \"FalseNegativesEstimate\"],\n \"0048\" : [\"US\", \"NegativeCatchTrialsQuantity\"],\n \"0050\" : [\"US\", \"FalseNegativesQuantity\"],\n \"0051\" : [\"CS\", \"ExcessiveFalseNegativesDataFlag\"],\n \"0052\" : [\"CS\", \"ExcessiveFalseNegatives\"],\n \"0053\" : [\"CS\", \"FalsePositivesEstimateFlag\"],\n \"0054\" : [\"FL\", \"FalsePositivesEstimate\"],\n \"0055\" : [\"CS\", \"CatchTrialsDataFlag\"],\n \"0056\" : [\"US\", \"PositiveCatchTrialsQuantity\"],\n \"0057\" : [\"CS\", \"TestPointNormalsDataFlag\"],\n \"0058\" : [\"SQ\", \"TestPointNormalsSequence\"],\n \"0059\" : [\"CS\", \"GlobalDeviationProbabilityNormalsFlag\"],\n \"0060\" : [\"US\", \"FalsePositivesQuantity\"],\n \"0061\" : [\"CS\", \"ExcessiveFalsePositivesDataFlag\"],\n \"0062\" : [\"CS\", \"ExcessiveFalsePositives\"],\n \"0063\" : [\"CS\", \"VisualFieldTestNormalsFlag\"],\n \"0064\" : [\"SQ\", \"ResultsNormalsSequence\"],\n \"0065\" : [\"SQ\", \"AgeCorrectedSensitivityDeviationAlgorithmSequence\"],\n \"0066\" : [\"FL\", \"GlobalDeviationFromNormal\"],\n \"0067\" : [\"SQ\", \"GeneralizedDefectSensitivityDeviationAlgorithmSequence\"],\n \"0068\" : [\"FL\", \"LocalizedDeviationfromNormal\"],\n \"0069\" : [\"LO\", \"PatientReliabilityIndicator\"],\n \"0070\" : [\"FL\", \"VisualFieldMeanSensitivity\"],\n \"0071\" : [\"FL\", \"GlobalDeviationProbability\"],\n \"0072\" : [\"CS\", \"LocalDeviationProbabilityNormalsFlag\"],\n \"0073\" : [\"FL\", \"LocalizedDeviationProbability\"],\n \"0074\" : [\"CS\", \"ShortTermFluctuationCalculated\"],\n \"0075\" : [\"FL\", \"ShortTermFluctuation\"],\n \"0076\" : [\"CS\", \"ShortTermFluctuationProbabilityCalculated\"],\n \"0077\" : [\"FL\", \"ShortTermFluctuationProbability\"],\n \"0078\" : [\"CS\", \"CorrectedLocalizedDeviationFromNormalCalculated\"],\n \"0079\" : [\"FL\", \"CorrectedLocalizedDeviationFromNormal\"],\n \"0080\" : [\"CS\", \"CorrectedLocalizedDeviationFromNormalProbabilityCalculated\"],\n \"0081\" : [\"FL\", \"CorrectedLocalizedDeviationFromNormalProbability\"],\n \"0083\" : [\"SQ\", \"GlobalDeviationProbabilitySequence\"],\n \"0085\" : [\"SQ\", \"LocalizedDeviationProbabilitySequence\"],\n \"0086\" : [\"CS\", \"FovealSensitivityMeasured\"],\n \"0087\" : [\"FL\", \"FovealSensitivity\"],\n \"0088\" : [\"FL\", \"VisualFieldTestDuration\"],\n \"0089\" : [\"SQ\", \"VisualFieldTestPointSequence\"],\n \"0090\" : [\"FL\", \"VisualFieldTestPointXCoordinate\"],\n \"0091\" : [\"FL\", \"VisualFieldTestPointYCoordinate\"],\n \"0092\" : [\"FL\", \"AgeCorrectedSensitivityDeviationValue\"],\n \"0093\" : [\"CS\", \"StimulusResults\"],\n \"0094\" : [\"FL\", \"SensitivityValue\"],\n \"0095\" : [\"CS\", \"RetestStimulusSeen\"],\n \"0096\" : [\"FL\", \"RetestSensitivityValue\"],\n \"0097\" : [\"SQ\", \"VisualFieldTestPointNormalsSequence\"],\n \"0098\" : [\"FL\", \"QuantifiedDefect\"],\n \"0100\" : [\"FL\", \"AgeCorrectedSensitivityDeviationProbabilityValue\"],\n \"0102\" : [\"CS\", \"GeneralizedDefectCorrectedSensitivityDeviationFlag \"],\n \"0103\" : [\"FL\", \"GeneralizedDefectCorrectedSensitivityDeviationValue \"],\n \"0104\" : [\"FL\", \"GeneralizedDefectCorrectedSensitivityDeviationProbabilityValue\"],\n \"0105\" : [\"FL \", \"MinimumSensitivityValue\"],\n \"0106\" : [\"CS\", \"BlindSpotLocalized\"],\n \"0107\" : [\"FL\", \"BlindSpotXCoordinate\"],\n \"0108\" : [\"FL\", \"BlindSpotYCoordinate \"],\n \"0110\" : [\"SQ\", \"VisualAcuityMeasurementSequence\"],\n \"0112\" : [\"SQ\", \"RefractiveParametersUsedOnPatientSequence\"],\n \"0113\" : [\"CS\", \"MeasurementLaterality\"],\n \"0114\" : [\"SQ\", \"OphthalmicPatientClinicalInformationLeftEyeSequence\"],\n \"0115\" : [\"SQ\", \"OphthalmicPatientClinicalInformationRightEyeSequence\"],\n \"0117\" : [\"CS\", \"FovealPointNormativeDataFlag\"],\n \"0118\" : [\"FL\", \"FovealPointProbabilityValue\"],\n \"0120\" : [\"CS\", \"ScreeningBaselineMeasured\"],\n \"0122\" : [\"SQ\", \"ScreeningBaselineMeasuredSequence\"],\n \"0124\" : [\"CS\", \"ScreeningBaselineType\"],\n \"0126\" : [\"FL\", \"ScreeningBaselineValue\"],\n \"0202\" : [\"LO\", \"AlgorithmSource\"],\n \"0306\" : [\"LO\", \"DataSetName\"],\n \"0307\" : [\"LO\", \"DataSetVersion\"],\n \"0308\" : [\"LO\", \"DataSetSource\"],\n \"0309\" : [\"LO\", \"DataSetDescription\"],\n \"0317\" : [\"SQ\", \"VisualFieldTestReliabilityGlobalIndexSequence\"],\n \"0320\" : [\"SQ\", \"VisualFieldGlobalResultsIndexSequence\"],\n \"0325\" : [\"SQ\", \"DataObservationSequence\"],\n \"0338\" : [\"CS\", \"IndexNormalsFlag\"],\n \"0341\" : [\"FL\", \"IndexProbability\"],\n \"0344\" : [\"SQ\", \"IndexProbabilitySequence\"]\n },\n \"0028\" : {\n \"0002\" : [\"US\", \"SamplesPerPixel\"],\n \"0003\" : [\"US\", \"SamplesPerPixelUsed\"],\n \"0004\" : [\"CS\", \"PhotometricInterpretation\"],\n \"0005\" : [\"US\", \"ImageDimensions\"],\n \"0006\" : [\"US\", \"PlanarConfiguration\"],\n \"0008\" : [\"IS\", \"NumberOfFrames\"],\n \"0009\" : [\"AT\", \"FrameIncrementPointer\"],\n \"000A\" : [\"AT\", \"FrameDimensionPointer\"],\n \"0010\" : [\"US\", \"Rows\"],\n \"0011\" : [\"US\", \"Columns\"],\n \"0012\" : [\"US\", \"Planes\"],\n \"0014\" : [\"US\", \"UltrasoundColorDataPresent\"],\n \"0030\" : [\"DS\", \"PixelSpacing\"],\n \"0031\" : [\"DS\", \"ZoomFactor\"],\n \"0032\" : [\"DS\", \"ZoomCenter\"],\n \"0034\" : [\"IS\", \"PixelAspectRatio\"],\n \"0040\" : [\"CS\", \"ImageFormat\"],\n \"0050\" : [\"LO\", \"ManipulatedImage\"],\n \"0051\" : [\"CS\", \"CorrectedImage\"],\n \"005F\" : [\"LO\", \"CompressionRecognitionCode\"],\n \"0060\" : [\"CS\", \"CompressionCode\"],\n \"0061\" : [\"SH\", \"CompressionOriginator\"],\n \"0062\" : [\"LO\", \"CompressionLabel\"],\n \"0063\" : [\"SH\", \"CompressionDescription\"],\n \"0065\" : [\"CS\", \"CompressionSequence\"],\n \"0066\" : [\"AT\", \"CompressionStepPointers\"],\n \"0068\" : [\"US\", \"RepeatInterval\"],\n \"0069\" : [\"US\", \"BitsGrouped\"],\n \"0070\" : [\"US\", \"PerimeterTable\"],\n \"0071\" : [\"SS\", \"PerimeterValue\"],\n \"0080\" : [\"US\", \"PredictorRows\"],\n \"0081\" : [\"US\", \"PredictorColumns\"],\n \"0082\" : [\"US\", \"PredictorConstants\"],\n \"0090\" : [\"CS\", \"BlockedPixels\"],\n \"0091\" : [\"US\", \"BlockRows\"],\n \"0092\" : [\"US\", \"BlockColumns\"],\n \"0093\" : [\"US\", \"RowOverlap\"],\n \"0094\" : [\"US\", \"ColumnOverlap\"],\n \"0100\" : [\"US\", \"BitsAllocated\"],\n \"0101\" : [\"US\", \"BitsStored\"],\n \"0102\" : [\"US\", \"HighBit\"],\n \"0103\" : [\"US\", \"PixelRepresentation\"],\n \"0104\" : [\"SS\", \"SmallestValidPixelValue\"],\n \"0105\" : [\"SS\", \"LargestValidPixelValue\"],\n \"0106\" : [\"SS\", \"SmallestImagePixelValue\"],\n \"0107\" : [\"SS\", \"LargestImagePixelValue\"],\n \"0108\" : [\"SS\", \"SmallestPixelValueInSeries\"],\n \"0109\" : [\"SS\", \"LargestPixelValueInSeries\"],\n \"0110\" : [\"SS\", \"SmallestImagePixelValueInPlane\"],\n \"0111\" : [\"SS\", \"LargestImagePixelValueInPlane\"],\n \"0120\" : [\"SS\", \"PixelPaddingValue\"],\n \"0121\" : [\"SS\", \"PixelPaddingRangeLimit\"],\n \"0200\" : [\"US\", \"ImageLocation\"],\n \"0300\" : [\"CS\", \"QualityControlImage\"],\n \"0301\" : [\"CS\", \"BurnedInAnnotation\"],\n \"0302\" : [\"CS\", \"RecognizableVisualFeatures\"],\n \"0303\" : [\"CS\", \"LongitudinalTemporalInformationModified\"],\n \"0400\" : [\"LO\", \"TransformLabel\"],\n \"0401\" : [\"LO\", \"TransformVersionNumber\"],\n \"0402\" : [\"US\", \"NumberOfTransformSteps\"],\n \"0403\" : [\"LO\", \"SequenceOfCompressedData\"],\n \"0404\" : [\"AT\", \"DetailsOfCoefficients\"],\n \"0700\" : [\"LO\", \"DCTLabel\"],\n \"0701\" : [\"CS\", \"DataBlockDescription\"],\n \"0702\" : [\"AT\", \"DataBlock\"],\n \"0710\" : [\"US\", \"NormalizationFactorFormat\"],\n \"0720\" : [\"US\", \"ZonalMapNumberFormat\"],\n \"0721\" : [\"AT\", \"ZonalMapLocation\"],\n \"0722\" : [\"US\", \"ZonalMapFormat\"],\n \"0730\" : [\"US\", \"AdaptiveMapFormat\"],\n \"0740\" : [\"US\", \"CodeNumberFormat\"],\n \"0A02\" : [\"CS\", \"PixelSpacingCalibrationType\"],\n \"0A04\" : [\"LO\", \"PixelSpacingCalibrationDescription\"],\n \"1040\" : [\"CS\", \"PixelIntensityRelationship\"],\n \"1041\" : [\"SS\", \"PixelIntensityRelationshipSign\"],\n \"1050\" : [\"DS\", \"WindowCenter\"],\n \"1051\" : [\"DS\", \"WindowWidth\"],\n \"1052\" : [\"DS\", \"RescaleIntercept\"],\n \"1053\" : [\"DS\", \"RescaleSlope\"],\n \"1054\" : [\"LO\", \"RescaleType\"],\n \"1055\" : [\"LO\", \"WindowCenterWidthExplanation\"],\n \"1056\" : [\"CS\", \"VOILUTFunction\"],\n \"1080\" : [\"CS\", \"GrayScale\"],\n \"1090\" : [\"CS\", \"RecommendedViewingMode\"],\n \"1100\" : [\"SS\", \"GrayLookupTableDescriptor\"],\n \"1101\" : [\"SS\", \"RedPaletteColorLookupTableDescriptor\"],\n \"1102\" : [\"SS\", \"GreenPaletteColorLookupTableDescriptor\"],\n \"1103\" : [\"SS\", \"BluePaletteColorLookupTableDescriptor\"],\n \"1104\" : [\"US\", \"AlphaPaletteColorLookupTableDescriptor\"],\n \"1111\" : [\"SS\", \"LargeRedPaletteColorLookupTableDescriptor\"],\n \"1112\" : [\"SS\", \"LargeGreenPaletteColorLookupTableDescriptor\"],\n \"1113\" : [\"SS\", \"LargeBluePaletteColorLookupTableDescriptor\"],\n \"1199\" : [\"UI\", \"PaletteColorLookupTableUID\"],\n \"1200\" : [\"OW\", \"GrayLookupTableData\"],\n \"1201\" : [\"OW\", \"RedPaletteColorLookupTableData\"],\n \"1202\" : [\"OW\", \"GreenPaletteColorLookupTableData\"],\n \"1203\" : [\"OW\", \"BluePaletteColorLookupTableData\"],\n \"1204\" : [\"OW\", \"AlphaPaletteColorLookupTableData\"],\n \"1211\" : [\"OW\", \"LargeRedPaletteColorLookupTableData\"],\n \"1212\" : [\"OW\", \"LargeGreenPaletteColorLookupTableData\"],\n \"1213\" : [\"OW\", \"LargeBluePaletteColorLookupTableData\"],\n \"1214\" : [\"UI\", \"LargePaletteColorLookupTableUID\"],\n \"1221\" : [\"OW\", \"SegmentedRedPaletteColorLookupTableData\"],\n \"1222\" : [\"OW\", \"SegmentedGreenPaletteColorLookupTableData\"],\n \"1223\" : [\"OW\", \"SegmentedBluePaletteColorLookupTableData\"],\n \"1300\" : [\"CS\", \"BreastImplantPresent\"],\n \"1350\" : [\"CS\", \"PartialView\"],\n \"1351\" : [\"ST\", \"PartialViewDescription\"],\n \"1352\" : [\"SQ\", \"PartialViewCodeSequence\"],\n \"135A\" : [\"CS\", \"SpatialLocationsPreserved\"],\n \"1401\" : [\"SQ\", \"DataFrameAssignmentSequence\"],\n \"1402\" : [\"CS\", \"DataPathAssignment\"],\n \"1403\" : [\"US\", \"BitsMappedToColorLookupTable\"],\n \"1404\" : [\"SQ\", \"BlendingLUT1Sequence\"],\n \"1405\" : [\"CS\", \"BlendingLUT1TransferFunction\"],\n \"1406\" : [\"FD\", \"BlendingWeightConstant\"],\n \"1407\" : [\"US\", \"BlendingLookupTableDescriptor\"],\n \"1408\" : [\"OW\", \"BlendingLookupTableData\"],\n \"140B\" : [\"SQ\", \"EnhancedPaletteColorLookupTableSequence\"],\n \"140C\" : [\"SQ\", \"BlendingLUT2Sequence\"],\n \"140D\" : [\"CS\", \"BlendingLUT2TransferFunction\"],\n \"140E\" : [\"CS\", \"DataPathID\"],\n \"140F\" : [\"CS\", \"RGBLUTTransferFunction\"],\n \"1410\" : [\"CS\", \"AlphaLUTTransferFunction\"],\n \"2000\" : [\"OB\", \"ICCProfile\"],\n \"2110\" : [\"CS\", \"LossyImageCompression\"],\n \"2112\" : [\"DS\", \"LossyImageCompressionRatio\"],\n \"2114\" : [\"CS\", \"LossyImageCompressionMethod\"],\n \"3000\" : [\"SQ\", \"ModalityLUTSequence\"],\n \"3002\" : [\"SS\", \"LUTDescriptor\"],\n \"3003\" : [\"LO\", \"LUTExplanation\"],\n \"3004\" : [\"LO\", \"ModalityLUTType\"],\n \"3006\" : [\"OW\", \"LUTData\"],\n \"3010\" : [\"SQ\", \"VOILUTSequence\"],\n \"3110\" : [\"SQ\", \"SoftcopyVOILUTSequence\"],\n \"4000\" : [\"LT\", \"ImagePresentationComments\"],\n \"5000\" : [\"SQ\", \"BiPlaneAcquisitionSequence\"],\n \"6010\" : [\"US\", \"RepresentativeFrameNumber\"],\n \"6020\" : [\"US\", \"FrameNumbersOfInterest\"],\n \"6022\" : [\"LO\", \"FrameOfInterestDescription\"],\n \"6023\" : [\"CS\", \"FrameOfInterestType\"],\n \"6030\" : [\"US\", \"MaskPointers\"],\n \"6040\" : [\"US\", \"RWavePointer\"],\n \"6100\" : [\"SQ\", \"MaskSubtractionSequence\"],\n \"6101\" : [\"CS\", \"MaskOperation\"],\n \"6102\" : [\"US\", \"ApplicableFrameRange\"],\n \"6110\" : [\"US\", \"MaskFrameNumbers\"],\n \"6112\" : [\"US\", \"ContrastFrameAveraging\"],\n \"6114\" : [\"FL\", \"MaskSubPixelShift\"],\n \"6120\" : [\"SS\", \"TIDOffset\"],\n \"6190\" : [\"ST\", \"MaskOperationExplanation\"],\n \"7FE0\" : [\"UT\", \"PixelDataProviderURL\"],\n \"9001\" : [\"UL\", \"DataPointRows\"],\n \"9002\" : [\"UL\", \"DataPointColumns\"],\n \"9003\" : [\"CS\", \"SignalDomainColumns\"],\n \"9099\" : [\"US\", \"LargestMonochromePixelValue\"],\n \"9108\" : [\"CS\", \"DataRepresentation\"],\n \"9110\" : [\"SQ\", \"PixelMeasuresSequence\"],\n \"9132\" : [\"SQ\", \"FrameVOILUTSequence\"],\n \"9145\" : [\"SQ\", \"PixelValueTransformationSequence\"],\n \"9235\" : [\"CS\", \"SignalDomainRows\"],\n \"9411\" : [\"FL\", \"DisplayFilterPercentage\"],\n \"9415\" : [\"SQ\", \"FramePixelShiftSequence\"],\n \"9416\" : [\"US\", \"SubtractionItemID\"],\n \"9422\" : [\"SQ\", \"PixelIntensityRelationshipLUTSequence\"],\n \"9443\" : [\"SQ\", \"FramePixelDataPropertiesSequence\"],\n \"9444\" : [\"CS\", \"GeometricalProperties\"],\n \"9445\" : [\"FL\", \"GeometricMaximumDistortion\"],\n \"9446\" : [\"CS\", \"ImageProcessingApplied\"],\n \"9454\" : [\"CS\", \"MaskSelectionMode\"],\n \"9474\" : [\"CS\", \"LUTFunction\"],\n \"9478\" : [\"FL\", \"MaskVisibilityPercentage\"],\n \"9501\" : [\"SQ\", \"PixelShiftSequence\"],\n \"9502\" : [\"SQ\", \"RegionPixelShiftSequence\"],\n \"9503\" : [\"SS\", \"VerticesOfTheRegion\"],\n \"9505\" : [\"SQ\", \"MultiFramePresentationSequence\"],\n \"9506\" : [\"US\", \"PixelShiftFrameRange\"],\n \"9507\" : [\"US\", \"LUTFrameRange\"],\n \"9520\" : [\"DS\", \"ImageToEquipmentMappingMatrix\"],\n \"9537\" : [\"CS\", \"EquipmentCoordinateSystemIdentification\"]\n },\n \"0032\" : {\n \"000A\" : [\"CS\", \"StudyStatusID\"],\n \"000C\" : [\"CS\", \"StudyPriorityID\"],\n \"0012\" : [\"LO\", \"StudyIDIssuer\"],\n \"0032\" : [\"DA\", \"StudyVerifiedDate\"],\n \"0033\" : [\"TM\", \"StudyVerifiedTime\"],\n \"0034\" : [\"DA\", \"StudyReadDate\"],\n \"0035\" : [\"TM\", \"StudyReadTime\"],\n \"1000\" : [\"DA\", \"ScheduledStudyStartDate\"],\n \"1001\" : [\"TM\", \"ScheduledStudyStartTime\"],\n \"1010\" : [\"DA\", \"ScheduledStudyStopDate\"],\n \"1011\" : [\"TM\", \"ScheduledStudyStopTime\"],\n \"1020\" : [\"LO\", \"ScheduledStudyLocation\"],\n \"1021\" : [\"AE\", \"ScheduledStudyLocationAETitle\"],\n \"1030\" : [\"LO\", \"ReasonForStudy\"],\n \"1031\" : [\"SQ\", \"RequestingPhysicianIdentificationSequence\"],\n \"1032\" : [\"PN\", \"RequestingPhysician\"],\n \"1033\" : [\"LO\", \"RequestingService\"],\n \"1034\" : [\"SQ\", \"RequestingServiceCodeSequence\"],\n \"1040\" : [\"DA\", \"StudyArrivalDate\"],\n \"1041\" : [\"TM\", \"StudyArrivalTime\"],\n \"1050\" : [\"DA\", \"StudyCompletionDate\"],\n \"1051\" : [\"TM\", \"StudyCompletionTime\"],\n \"1055\" : [\"CS\", \"StudyComponentStatusID\"],\n \"1060\" : [\"LO\", \"RequestedProcedureDescription\"],\n \"1064\" : [\"SQ\", \"RequestedProcedureCodeSequence\"],\n \"1070\" : [\"LO\", \"RequestedContrastAgent\"],\n \"4000\" : [\"LT\", \"StudyComments\"]\n },\n \"0038\" : {\n \"0004\" : [\"SQ\", \"ReferencedPatientAliasSequence\"],\n \"0008\" : [\"CS\", \"VisitStatusID\"],\n \"0010\" : [\"LO\", \"AdmissionID\"],\n \"0011\" : [\"LO\", \"IssuerOfAdmissionID\"],\n \"0014\" : [\"SQ\", \"IssuerOfAdmissionIDSequence\"],\n \"0016\" : [\"LO\", \"RouteOfAdmissions\"],\n \"001A\" : [\"DA\", \"ScheduledAdmissionDate\"],\n \"001B\" : [\"TM\", \"ScheduledAdmissionTime\"],\n \"001C\" : [\"DA\", \"ScheduledDischargeDate\"],\n \"001D\" : [\"TM\", \"ScheduledDischargeTime\"],\n \"001E\" : [\"LO\", \"ScheduledPatientInstitutionResidence\"],\n \"0020\" : [\"DA\", \"AdmittingDate\"],\n \"0021\" : [\"TM\", \"AdmittingTime\"],\n \"0030\" : [\"DA\", \"DischargeDate\"],\n \"0032\" : [\"TM\", \"DischargeTime\"],\n \"0040\" : [\"LO\", \"DischargeDiagnosisDescription\"],\n \"0044\" : [\"SQ\", \"DischargeDiagnosisCodeSequence\"],\n \"0050\" : [\"LO\", \"SpecialNeeds\"],\n \"0060\" : [\"LO\", \"ServiceEpisodeID\"],\n \"0061\" : [\"LO\", \"IssuerOfServiceEpisodeID\"],\n \"0062\" : [\"LO\", \"ServiceEpisodeDescription\"],\n \"0064\" : [\"SQ\", \"IssuerOfServiceEpisodeIDSequence\"],\n \"0100\" : [\"SQ\", \"PertinentDocumentsSequence\"],\n \"0300\" : [\"LO\", \"CurrentPatientLocation\"],\n \"0400\" : [\"LO\", \"PatientInstitutionResidence\"],\n \"0500\" : [\"LO\", \"PatientState\"],\n \"0502\" : [\"SQ\", \"PatientClinicalTrialParticipationSequence\"],\n \"4000\" : [\"LT\", \"VisitComments\"]\n },\n \"003A\" : {\n \"0004\" : [\"CS\", \"WaveformOriginality\"],\n \"0005\" : [\"US\", \"NumberOfWaveformChannels\"],\n \"0010\" : [\"UL\", \"NumberOfWaveformSamples\"],\n \"001A\" : [\"DS\", \"SamplingFrequency\"],\n \"0020\" : [\"SH\", \"MultiplexGroupLabel\"],\n \"0200\" : [\"SQ\", \"ChannelDefinitionSequence\"],\n \"0202\" : [\"IS\", \"WaveformChannelNumber\"],\n \"0203\" : [\"SH\", \"ChannelLabel\"],\n \"0205\" : [\"CS\", \"ChannelStatus\"],\n \"0208\" : [\"SQ\", \"ChannelSourceSequence\"],\n \"0209\" : [\"SQ\", \"ChannelSourceModifiersSequence\"],\n \"020A\" : [\"SQ\", \"SourceWaveformSequence\"],\n \"020C\" : [\"LO\", \"ChannelDerivationDescription\"],\n \"0210\" : [\"DS\", \"ChannelSensitivity\"],\n \"0211\" : [\"SQ\", \"ChannelSensitivityUnitsSequence\"],\n \"0212\" : [\"DS\", \"ChannelSensitivityCorrectionFactor\"],\n \"0213\" : [\"DS\", \"ChannelBaseline\"],\n \"0214\" : [\"DS\", \"ChannelTimeSkew\"],\n \"0215\" : [\"DS\", \"ChannelSampleSkew\"],\n \"0218\" : [\"DS\", \"ChannelOffset\"],\n \"021A\" : [\"US\", \"WaveformBitsStored\"],\n \"0220\" : [\"DS\", \"FilterLowFrequency\"],\n \"0221\" : [\"DS\", \"FilterHighFrequency\"],\n \"0222\" : [\"DS\", \"NotchFilterFrequency\"],\n \"0223\" : [\"DS\", \"NotchFilterBandwidth\"],\n \"0230\" : [\"FL\", \"WaveformDataDisplayScale\"],\n \"0231\" : [\"US\", \"WaveformDisplayBackgroundCIELabValue\"],\n \"0240\" : [\"SQ\", \"WaveformPresentationGroupSequence\"],\n \"0241\" : [\"US\", \"PresentationGroupNumber\"],\n \"0242\" : [\"SQ\", \"ChannelDisplaySequence\"],\n \"0244\" : [\"US\", \"ChannelRecommendedDisplayCIELabValue\"],\n \"0245\" : [\"FL\", \"ChannelPosition\"],\n \"0246\" : [\"CS\", \"DisplayShadingFlag\"],\n \"0247\" : [\"FL\", \"FractionalChannelDisplayScale\"],\n \"0248\" : [\"FL\", \"AbsoluteChannelDisplayScale\"],\n \"0300\" : [\"SQ\", \"MultiplexedAudioChannelsDescriptionCodeSequence\"],\n \"0301\" : [\"IS\", \"ChannelIdentificationCode\"],\n \"0302\" : [\"CS\", \"ChannelMode\"]\n },\n \"0040\" : {\n \"0001\" : [\"AE\", \"ScheduledStationAETitle\"],\n \"0002\" : [\"DA\", \"ScheduledProcedureStepStartDate\"],\n \"0003\" : [\"TM\", \"ScheduledProcedureStepStartTime\"],\n \"0004\" : [\"DA\", \"ScheduledProcedureStepEndDate\"],\n \"0005\" : [\"TM\", \"ScheduledProcedureStepEndTime\"],\n \"0006\" : [\"PN\", \"ScheduledPerformingPhysicianName\"],\n \"0007\" : [\"LO\", \"ScheduledProcedureStepDescription\"],\n \"0008\" : [\"SQ\", \"ScheduledProtocolCodeSequence\"],\n \"0009\" : [\"SH\", \"ScheduledProcedureStepID\"],\n \"000A\" : [\"SQ\", \"StageCodeSequence\"],\n \"000B\" : [\"SQ\", \"ScheduledPerformingPhysicianIdentificationSequence\"],\n \"0010\" : [\"SH\", \"ScheduledStationName\"],\n \"0011\" : [\"SH\", \"ScheduledProcedureStepLocation\"],\n \"0012\" : [\"LO\", \"PreMedication\"],\n \"0020\" : [\"CS\", \"ScheduledProcedureStepStatus\"],\n \"0026\" : [\"SQ\", \"OrderPlacerIdentifierSequence\"],\n \"0027\" : [\"SQ\", \"OrderFillerIdentifierSequence\"],\n \"0031\" : [\"UT\", \"LocalNamespaceEntityID\"],\n \"0032\" : [\"UT\", \"UniversalEntityID\"],\n \"0033\" : [\"CS\", \"UniversalEntityIDType\"],\n \"0035\" : [\"CS\", \"IdentifierTypeCode\"],\n \"0036\" : [\"SQ\", \"AssigningFacilitySequence\"],\n \"0039\" : [\"SQ\", \"AssigningJurisdictionCodeSequence\"],\n \"003A\" : [\"SQ\", \"AssigningAgencyOrDepartmentCodeSequence\"],\n \"0100\" : [\"SQ\", \"ScheduledProcedureStepSequence\"],\n \"0220\" : [\"SQ\", \"ReferencedNonImageCompositeSOPInstanceSequence\"],\n \"0241\" : [\"AE\", \"PerformedStationAETitle\"],\n \"0242\" : [\"SH\", \"PerformedStationName\"],\n \"0243\" : [\"SH\", \"PerformedLocation\"],\n \"0244\" : [\"DA\", \"PerformedProcedureStepStartDate\"],\n \"0245\" : [\"TM\", \"PerformedProcedureStepStartTime\"],\n \"0250\" : [\"DA\", \"PerformedProcedureStepEndDate\"],\n \"0251\" : [\"TM\", \"PerformedProcedureStepEndTime\"],\n \"0252\" : [\"CS\", \"PerformedProcedureStepStatus\"],\n \"0253\" : [\"SH\", \"PerformedProcedureStepID\"],\n \"0254\" : [\"LO\", \"PerformedProcedureStepDescription\"],\n \"0255\" : [\"LO\", \"PerformedProcedureTypeDescription\"],\n \"0260\" : [\"SQ\", \"PerformedProtocolCodeSequence\"],\n \"0261\" : [\"CS\", \"PerformedProtocolType\"],\n \"0270\" : [\"SQ\", \"ScheduledStepAttributesSequence\"],\n \"0275\" : [\"SQ\", \"RequestAttributesSequence\"],\n \"0280\" : [\"ST\", \"CommentsOnThePerformedProcedureStep\"],\n \"0281\" : [\"SQ\", \"PerformedProcedureStepDiscontinuationReasonCodeSequence\"],\n \"0293\" : [\"SQ\", \"QuantitySequence\"],\n \"0294\" : [\"DS\", \"Quantity\"],\n \"0295\" : [\"SQ\", \"MeasuringUnitsSequence\"],\n \"0296\" : [\"SQ\", \"BillingItemSequence\"],\n \"0300\" : [\"US\", \"TotalTimeOfFluoroscopy\"],\n \"0301\" : [\"US\", \"TotalNumberOfExposures\"],\n \"0302\" : [\"US\", \"EntranceDose\"],\n \"0303\" : [\"US\", \"ExposedArea\"],\n \"0306\" : [\"DS\", \"DistanceSourceToEntrance\"],\n \"0307\" : [\"DS\", \"DistanceSourceToSupport\"],\n \"030E\" : [\"SQ\", \"ExposureDoseSequence\"],\n \"0310\" : [\"ST\", \"CommentsOnRadiationDose\"],\n \"0312\" : [\"DS\", \"XRayOutput\"],\n \"0314\" : [\"DS\", \"HalfValueLayer\"],\n \"0316\" : [\"DS\", \"OrganDose\"],\n \"0318\" : [\"CS\", \"OrganExposed\"],\n \"0320\" : [\"SQ\", \"BillingProcedureStepSequence\"],\n \"0321\" : [\"SQ\", \"FilmConsumptionSequence\"],\n \"0324\" : [\"SQ\", \"BillingSuppliesAndDevicesSequence\"],\n \"0330\" : [\"SQ\", \"ReferencedProcedureStepSequence\"],\n \"0340\" : [\"SQ\", \"PerformedSeriesSequence\"],\n \"0400\" : [\"LT\", \"CommentsOnTheScheduledProcedureStep\"],\n \"0440\" : [\"SQ\", \"ProtocolContextSequence\"],\n \"0441\" : [\"SQ\", \"ContentItemModifierSequence\"],\n \"0500\" : [\"SQ\", \"ScheduledSpecimenSequence\"],\n \"050A\" : [\"LO\", \"SpecimenAccessionNumber\"],\n \"0512\" : [\"LO\", \"ContainerIdentifier\"],\n \"0513\" : [\"SQ\", \"IssuerOfTheContainerIdentifierSequence\"],\n \"0515\" : [\"SQ\", \"AlternateContainerIdentifierSequence\"],\n \"0518\" : [\"SQ\", \"ContainerTypeCodeSequence\"],\n \"051A\" : [\"LO\", \"ContainerDescription\"],\n \"0520\" : [\"SQ\", \"ContainerComponentSequence\"],\n \"0550\" : [\"SQ\", \"SpecimenSequence\"],\n \"0551\" : [\"LO\", \"SpecimenIdentifier\"],\n \"0552\" : [\"SQ\", \"SpecimenDescriptionSequenceTrial\"],\n \"0553\" : [\"ST\", \"SpecimenDescriptionTrial\"],\n \"0554\" : [\"UI\", \"SpecimenUID\"],\n \"0555\" : [\"SQ\", \"AcquisitionContextSequence\"],\n \"0556\" : [\"ST\", \"AcquisitionContextDescription\"],\n \"059A\" : [\"SQ\", \"SpecimenTypeCodeSequence\"],\n \"0560\" : [\"SQ\", \"SpecimenDescriptionSequence\"],\n \"0562\" : [\"SQ\", \"IssuerOfTheSpecimenIdentifierSequence\"],\n \"0600\" : [\"LO\", \"SpecimenShortDescription\"],\n \"0602\" : [\"UT\", \"SpecimenDetailedDescription\"],\n \"0610\" : [\"SQ\", \"SpecimenPreparationSequence\"],\n \"0612\" : [\"SQ\", \"SpecimenPreparationStepContentItemSequence\"],\n \"0620\" : [\"SQ\", \"SpecimenLocalizationContentItemSequence\"],\n \"06FA\" : [\"LO\", \"SlideIdentifier\"],\n \"071A\" : [\"SQ\", \"ImageCenterPointCoordinatesSequence\"],\n \"072A\" : [\"DS\", \"XOffsetInSlideCoordinateSystem\"],\n \"073A\" : [\"DS\", \"YOffsetInSlideCoordinateSystem\"],\n \"074A\" : [\"DS\", \"ZOffsetInSlideCoordinateSystem\"],\n \"08D8\" : [\"SQ\", \"PixelSpacingSequence\"],\n \"08DA\" : [\"SQ\", \"CoordinateSystemAxisCodeSequence\"],\n \"08EA\" : [\"SQ\", \"MeasurementUnitsCodeSequence\"],\n \"09F8\" : [\"SQ\", \"VitalStainCodeSequenceTrial\"],\n \"1001\" : [\"SH\", \"RequestedProcedureID\"],\n \"1002\" : [\"LO\", \"ReasonForTheRequestedProcedure\"],\n \"1003\" : [\"SH\", \"RequestedProcedurePriority\"],\n \"1004\" : [\"LO\", \"PatientTransportArrangements\"],\n \"1005\" : [\"LO\", \"RequestedProcedureLocation\"],\n \"1006\" : [\"SH\", \"PlacerOrderNumberProcedure\"],\n \"1007\" : [\"SH\", \"FillerOrderNumberProcedure\"],\n \"1008\" : [\"LO\", \"ConfidentialityCode\"],\n \"1009\" : [\"SH\", \"ReportingPriority\"],\n \"100A\" : [\"SQ\", \"ReasonForRequestedProcedureCodeSequence\"],\n \"1010\" : [\"PN\", \"NamesOfIntendedRecipientsOfResults\"],\n \"1011\" : [\"SQ\", \"IntendedRecipientsOfResultsIdentificationSequence\"],\n \"1012\" : [\"SQ\", \"ReasonForPerformedProcedureCodeSequence\"],\n \"1060\" : [\"LO\", \"RequestedProcedureDescriptionTrial\"],\n \"1101\" : [\"SQ\", \"PersonIdentificationCodeSequence\"],\n \"1102\" : [\"ST\", \"PersonAddress\"],\n \"1103\" : [\"LO\", \"PersonTelephoneNumbers\"],\n \"1400\" : [\"LT\", \"RequestedProcedureComments\"],\n \"2001\" : [\"LO\", \"ReasonForTheImagingServiceRequest\"],\n \"2004\" : [\"DA\", \"IssueDateOfImagingServiceRequest\"],\n \"2005\" : [\"TM\", \"IssueTimeOfImagingServiceRequest\"],\n \"2006\" : [\"SH\", \"PlacerOrderNumberImagingServiceRequestRetired\"],\n \"2007\" : [\"SH\", \"FillerOrderNumberImagingServiceRequestRetired\"],\n \"2008\" : [\"PN\", \"OrderEnteredBy\"],\n \"2009\" : [\"SH\", \"OrderEntererLocation\"],\n \"2010\" : [\"SH\", \"OrderCallbackPhoneNumber\"],\n \"2016\" : [\"LO\", \"PlacerOrderNumberImagingServiceRequest\"],\n \"2017\" : [\"LO\", \"FillerOrderNumberImagingServiceRequest\"],\n \"2400\" : [\"LT\", \"ImagingServiceRequestComments\"],\n \"3001\" : [\"LO\", \"ConfidentialityConstraintOnPatientDataDescription\"],\n \"4001\" : [\"CS\", \"GeneralPurposeScheduledProcedureStepStatus\"],\n \"4002\" : [\"CS\", \"GeneralPurposePerformedProcedureStepStatus\"],\n \"4003\" : [\"CS\", \"GeneralPurposeScheduledProcedureStepPriority\"],\n \"4004\" : [\"SQ\", \"ScheduledProcessingApplicationsCodeSequence\"],\n \"4005\" : [\"DT\", \"ScheduledProcedureStepStartDateTime\"],\n \"4006\" : [\"CS\", \"MultipleCopiesFlag\"],\n \"4007\" : [\"SQ\", \"PerformedProcessingApplicationsCodeSequence\"],\n \"4009\" : [\"SQ\", \"HumanPerformerCodeSequence\"],\n \"4010\" : [\"DT\", \"ScheduledProcedureStepModificationDateTime\"],\n \"4011\" : [\"DT\", \"ExpectedCompletionDateTime\"],\n \"4015\" : [\"SQ\", \"ResultingGeneralPurposePerformedProcedureStepsSequence\"],\n \"4016\" : [\"SQ\", \"ReferencedGeneralPurposeScheduledProcedureStepSequence\"],\n \"4018\" : [\"SQ\", \"ScheduledWorkitemCodeSequence\"],\n \"4019\" : [\"SQ\", \"PerformedWorkitemCodeSequence\"],\n \"4020\" : [\"CS\", \"InputAvailabilityFlag\"],\n \"4021\" : [\"SQ\", \"InputInformationSequence\"],\n \"4022\" : [\"SQ\", \"RelevantInformationSequence\"],\n \"4023\" : [\"UI\", \"ReferencedGeneralPurposeScheduledProcedureStepTransactionUID\"],\n \"4025\" : [\"SQ\", \"ScheduledStationNameCodeSequence\"],\n \"4026\" : [\"SQ\", \"ScheduledStationClassCodeSequence\"],\n \"4027\" : [\"SQ\", \"ScheduledStationGeographicLocationCodeSequence\"],\n \"4028\" : [\"SQ\", \"PerformedStationNameCodeSequence\"],\n \"4029\" : [\"SQ\", \"PerformedStationClassCodeSequence\"],\n \"4030\" : [\"SQ\", \"PerformedStationGeographicLocationCodeSequence\"],\n \"4031\" : [\"SQ\", \"RequestedSubsequentWorkitemCodeSequence\"],\n \"4032\" : [\"SQ\", \"NonDICOMOutputCodeSequence\"],\n \"4033\" : [\"SQ\", \"OutputInformationSequence\"],\n \"4034\" : [\"SQ\", \"ScheduledHumanPerformersSequence\"],\n \"4035\" : [\"SQ\", \"ActualHumanPerformersSequence\"],\n \"4036\" : [\"LO\", \"HumanPerformerOrganization\"],\n \"4037\" : [\"PN\", \"HumanPerformerName\"],\n \"4040\" : [\"CS\", \"RawDataHandling\"],\n \"4041\" : [\"CS\", \"InputReadinessState\"],\n \"4050\" : [\"DT\", \"PerformedProcedureStepStartDateTime\"],\n \"4051\" : [\"DT\", \"PerformedProcedureStepEndDateTime\"],\n \"4052\" : [\"DT\", \"ProcedureStepCancellationDateTime\"],\n \"8302\" : [\"DS\", \"EntranceDoseInmGy\"],\n \"9094\" : [\"SQ\", \"ReferencedImageRealWorldValueMappingSequence\"],\n \"9096\" : [\"SQ\", \"RealWorldValueMappingSequence\"],\n \"9098\" : [\"SQ\", \"PixelValueMappingCodeSequence\"],\n \"9210\" : [\"SH\", \"LUTLabel\"],\n \"9211\" : [\"SS\", \"RealWorldValueLastValueMapped\"],\n \"9212\" : [\"FD\", \"RealWorldValueLUTData\"],\n \"9216\" : [\"SS\", \"RealWorldValueFirstValueMapped\"],\n \"9224\" : [\"FD\", \"RealWorldValueIntercept\"],\n \"9225\" : [\"FD\", \"RealWorldValueSlope\"],\n \"A007\" : [\"CS\", \"FindingsFlagTrial\"],\n \"A010\" : [\"CS\", \"RelationshipType\"],\n \"A020\" : [\"SQ\", \"FindingsSequenceTrial\"],\n \"A021\" : [\"UI\", \"FindingsGroupUIDTrial\"],\n \"A022\" : [\"UI\", \"ReferencedFindingsGroupUIDTrial\"],\n \"A023\" : [\"DA\", \"FindingsGroupRecordingDateTrial\"],\n \"A024\" : [\"TM\", \"FindingsGroupRecordingTimeTrial\"],\n \"A026\" : [\"SQ\", \"FindingsSourceCategoryCodeSequenceTrial\"],\n \"A027\" : [\"LO\", \"VerifyingOrganization\"],\n \"A028\" : [\"SQ\", \"DocumentingOrganizationIdentifierCodeSequenceTrial\"],\n \"A030\" : [\"DT\", \"VerificationDateTime\"],\n \"A032\" : [\"DT\", \"ObservationDateTime\"],\n \"A040\" : [\"CS\", \"ValueType\"],\n \"A043\" : [\"SQ\", \"ConceptNameCodeSequence\"],\n \"A047\" : [\"LO\", \"MeasurementPrecisionDescriptionTrial\"],\n \"A050\" : [\"CS\", \"ContinuityOfContent\"],\n \"A057\" : [\"CS\", \"UrgencyOrPriorityAlertsTrial\"],\n \"A060\" : [\"LO\", \"SequencingIndicatorTrial\"],\n \"A066\" : [\"SQ\", \"DocumentIdentifierCodeSequenceTrial\"],\n \"A067\" : [\"PN\", \"DocumentAuthorTrial\"],\n \"A068\" : [\"SQ\", \"DocumentAuthorIdentifierCodeSequenceTrial\"],\n \"A070\" : [\"SQ\", \"IdentifierCodeSequenceTrial\"],\n \"A073\" : [\"SQ\", \"VerifyingObserverSequence\"],\n \"A074\" : [\"OB\", \"ObjectBinaryIdentifierTrial\"],\n \"A075\" : [\"PN\", \"VerifyingObserverName\"],\n \"A076\" : [\"SQ\", \"DocumentingObserverIdentifierCodeSequenceTrial\"],\n \"A078\" : [\"SQ\", \"AuthorObserverSequence\"],\n \"A07A\" : [\"SQ\", \"ParticipantSequence\"],\n \"A07C\" : [\"SQ\", \"CustodialOrganizationSequence\"],\n \"A080\" : [\"CS\", \"ParticipationType\"],\n \"A082\" : [\"DT\", \"ParticipationDateTime\"],\n \"A084\" : [\"CS\", \"ObserverType\"],\n \"A085\" : [\"SQ\", \"ProcedureIdentifierCodeSequenceTrial\"],\n \"A088\" : [\"SQ\", \"VerifyingObserverIdentificationCodeSequence\"],\n \"A089\" : [\"OB\", \"ObjectDirectoryBinaryIdentifierTrial\"],\n \"A090\" : [\"SQ\", \"EquivalentCDADocumentSequence\"],\n \"A0B0\" : [\"US\", \"ReferencedWaveformChannels\"],\n \"A110\" : [\"DA\", \"DateOfDocumentOrVerbalTransactionTrial\"],\n \"A112\" : [\"TM\", \"TimeOfDocumentCreationOrVerbalTransactionTrial\"],\n \"A120\" : [\"DT\", \"DateTime\"],\n \"A121\" : [\"DA\", \"Date\"],\n \"A122\" : [\"TM\", \"Time\"],\n \"A123\" : [\"PN\", \"PersonName\"],\n \"A124\" : [\"UI\", \"UID\"],\n \"A125\" : [\"CS\", \"ReportStatusIDTrial\"],\n \"A130\" : [\"CS\", \"TemporalRangeType\"],\n \"A132\" : [\"UL\", \"ReferencedSamplePositions\"],\n \"A136\" : [\"US\", \"ReferencedFrameNumbers\"],\n \"A138\" : [\"DS\", \"ReferencedTimeOffsets\"],\n \"A13A\" : [\"DT\", \"ReferencedDateTime\"],\n \"A160\" : [\"UT\", \"TextValue\"],\n \"A167\" : [\"SQ\", \"ObservationCategoryCodeSequenceTrial\"],\n \"A168\" : [\"SQ\", \"ConceptCodeSequence\"],\n \"A16A\" : [\"ST\", \"BibliographicCitationTrial\"],\n \"A170\" : [\"SQ\", \"PurposeOfReferenceCodeSequence\"],\n \"A171\" : [\"UI\", \"ObservationUIDTrial\"],\n \"A172\" : [\"UI\", \"ReferencedObservationUIDTrial\"],\n \"A173\" : [\"CS\", \"ReferencedObservationClassTrial\"],\n \"A174\" : [\"CS\", \"ReferencedObjectObservationClassTrial\"],\n \"A180\" : [\"US\", \"AnnotationGroupNumber\"],\n \"A192\" : [\"DA\", \"ObservationDateTrial\"],\n \"A193\" : [\"TM\", \"ObservationTimeTrial\"],\n \"A194\" : [\"CS\", \"MeasurementAutomationTrial\"],\n \"A195\" : [\"SQ\", \"ModifierCodeSequence\"],\n \"A224\" : [\"ST\", \"IdentificationDescriptionTrial\"],\n \"A290\" : [\"CS\", \"CoordinatesSetGeometricTypeTrial\"],\n \"A296\" : [\"SQ\", \"AlgorithmCodeSequenceTrial\"],\n \"A297\" : [\"ST\", \"AlgorithmDescriptionTrial\"],\n \"A29A\" : [\"SL\", \"PixelCoordinatesSetTrial\"],\n \"A300\" : [\"SQ\", \"MeasuredValueSequence\"],\n \"A301\" : [\"SQ\", \"NumericValueQualifierCodeSequence\"],\n \"A307\" : [\"PN\", \"CurrentObserverTrial\"],\n \"A30A\" : [\"DS\", \"NumericValue\"],\n \"A313\" : [\"SQ\", \"ReferencedAccessionSequenceTrial\"],\n \"A33A\" : [\"ST\", \"ReportStatusCommentTrial\"],\n \"A340\" : [\"SQ\", \"ProcedureContextSequenceTrial\"],\n \"A352\" : [\"PN\", \"VerbalSourceTrial\"],\n \"A353\" : [\"ST\", \"AddressTrial\"],\n \"A354\" : [\"LO\", \"TelephoneNumberTrial\"],\n \"A358\" : [\"SQ\", \"VerbalSourceIdentifierCodeSequenceTrial\"],\n \"A360\" : [\"SQ\", \"PredecessorDocumentsSequence\"],\n \"A370\" : [\"SQ\", \"ReferencedRequestSequence\"],\n \"A372\" : [\"SQ\", \"PerformedProcedureCodeSequence\"],\n \"A375\" : [\"SQ\", \"CurrentRequestedProcedureEvidenceSequence\"],\n \"A380\" : [\"SQ\", \"ReportDetailSequenceTrial\"],\n \"A385\" : [\"SQ\", \"PertinentOtherEvidenceSequence\"],\n \"A390\" : [\"SQ\", \"HL7StructuredDocumentReferenceSequence\"],\n \"A402\" : [\"UI\", \"ObservationSubjectUIDTrial\"],\n \"A403\" : [\"CS\", \"ObservationSubjectClassTrial\"],\n \"A404\" : [\"SQ\", \"ObservationSubjectTypeCodeSequenceTrial\"],\n \"A491\" : [\"CS\", \"CompletionFlag\"],\n \"A492\" : [\"LO\", \"CompletionFlagDescription\"],\n \"A493\" : [\"CS\", \"VerificationFlag\"],\n \"A494\" : [\"CS\", \"ArchiveRequested\"],\n \"A496\" : [\"CS\", \"PreliminaryFlag\"],\n \"A504\" : [\"SQ\", \"ContentTemplateSequence\"],\n \"A525\" : [\"SQ\", \"IdenticalDocumentsSequence\"],\n \"A600\" : [\"CS\", \"ObservationSubjectContextFlagTrial\"],\n \"A601\" : [\"CS\", \"ObserverContextFlagTrial\"],\n \"A603\" : [\"CS\", \"ProcedureContextFlagTrial\"],\n \"A730\" : [\"SQ\", \"ContentSequence\"],\n \"A731\" : [\"SQ\", \"RelationshipSequenceTrial\"],\n \"A732\" : [\"SQ\", \"RelationshipTypeCodeSequenceTrial\"],\n \"A744\" : [\"SQ\", \"LanguageCodeSequenceTrial\"],\n \"A992\" : [\"ST\", \"UniformResourceLocatorTrial\"],\n \"B020\" : [\"SQ\", \"WaveformAnnotationSequence\"],\n \"DB00\" : [\"CS\", \"TemplateIdentifier\"],\n \"DB06\" : [\"DT\", \"TemplateVersion\"],\n \"DB07\" : [\"DT\", \"TemplateLocalVersion\"],\n \"DB0B\" : [\"CS\", \"TemplateExtensionFlag\"],\n \"DB0C\" : [\"UI\", \"TemplateExtensionOrganizationUID\"],\n \"DB0D\" : [\"UI\", \"TemplateExtensionCreatorUID\"],\n \"DB73\" : [\"UL\", \"ReferencedContentItemIdentifier\"],\n \"E001\" : [\"ST\", \"HL7InstanceIdentifier\"],\n \"E004\" : [\"DT\", \"HL7DocumentEffectiveTime\"],\n \"E006\" : [\"SQ\", \"HL7DocumentTypeCodeSequence\"],\n \"E008\" : [\"SQ\", \"DocumentClassCodeSequence\"],\n \"E010\" : [\"UT\", \"RetrieveURI\"],\n \"E011\" : [\"UI\", \"RetrieveLocationUID\"],\n \"E020\" : [\"CS\", \"TypeOfInstances\"],\n \"E021\" : [\"SQ\", \"DICOMRetrievalSequence\"],\n \"E022\" : [\"SQ\", \"DICOMMediaRetrievalSequence\"],\n \"E023\" : [\"SQ\", \"WADORetrievalSequence\"],\n \"E024\" : [\"SQ\", \"XDSRetrievalSequence\"],\n \"E030\" : [\"UI\", \"RepositoryUniqueID\"],\n \"E031\" : [\"UI\", \"HomeCommunityID\"]\n },\n \"0042\" : {\n \"0010\" : [\"ST\", \"DocumentTitle\"],\n \"0011\" : [\"OB\", \"EncapsulatedDocument\"],\n \"0012\" : [\"LO\", \"MIMETypeOfEncapsulatedDocument\"],\n \"0013\" : [\"SQ\", \"SourceInstanceSequence\"],\n \"0014\" : [\"LO\", \"ListOfMIMETypes\"]\n },\n \"0044\" : {\n \"0001\" : [\"ST\", \"ProductPackageIdentifier\"],\n \"0002\" : [\"CS\", \"SubstanceAdministrationApproval\"],\n \"0003\" : [\"LT\", \"ApprovalStatusFurtherDescription\"],\n \"0004\" : [\"DT\", \"ApprovalStatusDateTime\"],\n \"0007\" : [\"SQ\", \"ProductTypeCodeSequence\"],\n \"0008\" : [\"LO\", \"ProductName\"],\n \"0009\" : [\"LT\", \"ProductDescription\"],\n \"000A\" : [\"LO\", \"ProductLotIdentifier\"],\n \"000B\" : [\"DT\", \"ProductExpirationDateTime\"],\n \"0010\" : [\"DT\", \"SubstanceAdministrationDateTime\"],\n \"0011\" : [\"LO\", \"SubstanceAdministrationNotes\"],\n \"0012\" : [\"LO\", \"SubstanceAdministrationDeviceID\"],\n \"0013\" : [\"SQ\", \"ProductParameterSequence\"],\n \"0019\" : [\"SQ\", \"SubstanceAdministrationParameterSequence\"]\n },\n \"0046\" : {\n \"0012\" : [\"LO\", \"LensDescription\"],\n \"0014\" : [\"SQ\", \"RightLensSequence\"],\n \"0015\" : [\"SQ\", \"LeftLensSequence\"],\n \"0016\" : [\"SQ\", \"UnspecifiedLateralityLensSequence\"],\n \"0018\" : [\"SQ\", \"CylinderSequence\"],\n \"0028\" : [\"SQ\", \"PrismSequence\"],\n \"0030\" : [\"FD\", \"HorizontalPrismPower\"],\n \"0032\" : [\"CS\", \"HorizontalPrismBase\"],\n \"0034\" : [\"FD\", \"VerticalPrismPower\"],\n \"0036\" : [\"CS\", \"VerticalPrismBase\"],\n \"0038\" : [\"CS\", \"LensSegmentType\"],\n \"0040\" : [\"FD\", \"OpticalTransmittance\"],\n \"0042\" : [\"FD\", \"ChannelWidth\"],\n \"0044\" : [\"FD\", \"PupilSize\"],\n \"0046\" : [\"FD\", \"CornealSize\"],\n \"0050\" : [\"SQ\", \"AutorefractionRightEyeSequence\"],\n \"0052\" : [\"SQ\", \"AutorefractionLeftEyeSequence\"],\n \"0060\" : [\"FD\", \"DistancePupillaryDistance\"],\n \"0062\" : [\"FD\", \"NearPupillaryDistance\"],\n \"0063\" : [\"FD\", \"IntermediatePupillaryDistance\"],\n \"0064\" : [\"FD\", \"OtherPupillaryDistance\"],\n \"0070\" : [\"SQ\", \"KeratometryRightEyeSequence\"],\n \"0071\" : [\"SQ\", \"KeratometryLeftEyeSequence\"],\n \"0074\" : [\"SQ\", \"SteepKeratometricAxisSequence\"],\n \"0075\" : [\"FD\", \"RadiusOfCurvature\"],\n \"0076\" : [\"FD\", \"KeratometricPower\"],\n \"0077\" : [\"FD\", \"KeratometricAxis\"],\n \"0080\" : [\"SQ\", \"FlatKeratometricAxisSequence\"],\n \"0092\" : [\"CS\", \"BackgroundColor\"],\n \"0094\" : [\"CS\", \"Optotype\"],\n \"0095\" : [\"CS\", \"OptotypePresentation\"],\n \"0097\" : [\"SQ\", \"SubjectiveRefractionRightEyeSequence\"],\n \"0098\" : [\"SQ\", \"SubjectiveRefractionLeftEyeSequence\"],\n \"0100\" : [\"SQ\", \"AddNearSequence\"],\n \"0101\" : [\"SQ\", \"AddIntermediateSequence\"],\n \"0102\" : [\"SQ\", \"AddOtherSequence\"],\n \"0104\" : [\"FD\", \"AddPower\"],\n \"0106\" : [\"FD\", \"ViewingDistance\"],\n \"0121\" : [\"SQ\", \"VisualAcuityTypeCodeSequence\"],\n \"0122\" : [\"SQ\", \"VisualAcuityRightEyeSequence\"],\n \"0123\" : [\"SQ\", \"VisualAcuityLeftEyeSequence\"],\n \"0124\" : [\"SQ\", \"VisualAcuityBothEyesOpenSequence\"],\n \"0125\" : [\"CS\", \"ViewingDistanceType\"],\n \"0135\" : [\"SS\", \"VisualAcuityModifiers\"],\n \"0137\" : [\"FD\", \"DecimalVisualAcuity\"],\n \"0139\" : [\"LO\", \"OptotypeDetailedDefinition\"],\n \"0145\" : [\"SQ\", \"ReferencedRefractiveMeasurementsSequence\"],\n \"0146\" : [\"FD\", \"SpherePower\"],\n \"0147\" : [\"FD\", \"CylinderPower\"]\n },\n \"0048\" : {\n \"0001\" : [\"FL\", \"ImagedVolumeWidth\"],\n \"0002\" : [\"FL\", \"ImagedVolumeHeight\"],\n \"0003\" : [\"FL\", \"ImagedVolumeDepth\"],\n \"0006\" : [\"UL\", \"TotalPixelMatrixColumns\"],\n \"0007\" : [\"UL\", \"TotalPixelMatrixRows\"],\n \"0008\" : [\"SQ\", \"TotalPixelMatrixOriginSequence\"],\n \"0010\" : [\"CS\", \"SpecimenLabelInImage\"],\n \"0011\" : [\"CS\", \"FocusMethod\"],\n \"0012\" : [\"CS\", \"ExtendedDepthOfField\"],\n \"0013\" : [\"US\", \"NumberOfFocalPlanes\"],\n \"0014\" : [\"FL\", \"DistanceBetweenFocalPlanes\"],\n \"0015\" : [\"US\", \"RecommendedAbsentPixelCIELabValue\"],\n \"0100\" : [\"SQ\", \"IlluminatorTypeCodeSequence\"],\n \"0102\" : [\"DS\", \"ImageOrientationSlide\"],\n \"0105\" : [\"SQ\", \"OpticalPathSequence\"],\n \"0106\" : [\"SH\", \"OpticalPathIdentifier\"],\n \"0107\" : [\"ST\", \"OpticalPathDescription\"],\n \"0108\" : [\"SQ\", \"IlluminationColorCodeSequence\"],\n \"0110\" : [\"SQ\", \"SpecimenReferenceSequence\"],\n \"0111\" : [\"DS\", \"CondenserLensPower\"],\n \"0112\" : [\"DS\", \"ObjectiveLensPower\"],\n \"0113\" : [\"DS\", \"ObjectiveLensNumericalAperture\"],\n \"0120\" : [\"SQ\", \"PaletteColorLookupTableSequence\"],\n \"0200\" : [\"SQ\", \"ReferencedImageNavigationSequence\"],\n \"0201\" : [\"US\", \"TopLeftHandCornerOfLocalizerArea\"],\n \"0202\" : [\"US\", \"BottomRightHandCornerOfLocalizerArea\"],\n \"0207\" : [\"SQ\", \"OpticalPathIdentificationSequence\"],\n \"021A\" : [\"SQ\", \"PlanePositionSlideSequence\"],\n \"021E\" : [\"SL\", \"RowPositionInTotalImagePixelMatrix\"],\n \"021F\" : [\"SL\", \"ColumnPositionInTotalImagePixelMatrix\"],\n \"0301\" : [\"CS\", \"PixelOriginInterpretation\"]\n },\n \"0050\" : {\n \"0004\" : [\"CS\", \"CalibrationImage\"],\n \"0010\" : [\"SQ\", \"DeviceSequence\"],\n \"0012\" : [\"SQ\", \"ContainerComponentTypeCodeSequence\"],\n \"0013\" : [\"FD\", \"ContainerComponentThickness\"],\n \"0014\" : [\"DS\", \"DeviceLength\"],\n \"0015\" : [\"FD\", \"ContainerComponentWidth\"],\n \"0016\" : [\"DS\", \"DeviceDiameter\"],\n \"0017\" : [\"CS\", \"DeviceDiameterUnits\"],\n \"0018\" : [\"DS\", \"DeviceVolume\"],\n \"0019\" : [\"DS\", \"InterMarkerDistance\"],\n \"001A\" : [\"CS\", \"ContainerComponentMaterial\"],\n \"001B\" : [\"LO\", \"ContainerComponentID\"],\n \"001C\" : [\"FD\", \"ContainerComponentLength\"],\n \"001D\" : [\"FD\", \"ContainerComponentDiameter\"],\n \"001E\" : [\"LO\", \"ContainerComponentDescription\"],\n \"0020\" : [\"LO\", \"DeviceDescription\"]\n },\n \"0052\" : {\n \"0001\" : [\"FL\", \"ContrastBolusIngredientPercentByVolume\"],\n \"0002\" : [\"FD\", \"OCTFocalDistance\"],\n \"0003\" : [\"FD\", \"BeamSpotSize\"],\n \"0004\" : [\"FD\", \"EffectiveRefractiveIndex\"],\n \"0006\" : [\"CS\", \"OCTAcquisitionDomain\"],\n \"0007\" : [\"FD\", \"OCTOpticalCenterWavelength\"],\n \"0008\" : [\"FD\", \"AxialResolution\"],\n \"0009\" : [\"FD\", \"RangingDepth\"],\n \"0011\" : [\"FD\", \"ALineRate\"],\n \"0012\" : [\"US\", \"ALinesPerFrame\"],\n \"0013\" : [\"FD\", \"CatheterRotationalRate\"],\n \"0014\" : [\"FD\", \"ALinePixelSpacing\"],\n \"0016\" : [\"SQ\", \"ModeOfPercutaneousAccessSequence\"],\n \"0025\" : [\"SQ\", \"IntravascularOCTFrameTypeSequence\"],\n \"0026\" : [\"CS\", \"OCTZOffsetApplied\"],\n \"0027\" : [\"SQ\", \"IntravascularFrameContentSequence\"],\n \"0028\" : [\"FD\", \"IntravascularLongitudinalDistance\"],\n \"0029\" : [\"SQ\", \"IntravascularOCTFrameContentSequence\"],\n \"0030\" : [\"SS\", \"OCTZOffsetCorrection\"],\n \"0031\" : [\"CS\", \"CatheterDirectionOfRotation\"],\n \"0033\" : [\"FD\", \"SeamLineLocation\"],\n \"0034\" : [\"FD\", \"FirstALineLocation\"],\n \"0036\" : [\"US\", \"SeamLineIndex\"],\n \"0038\" : [\"US\", \"NumberOfPaddedAlines\"],\n \"0039\" : [\"CS\", \"InterpolationType\"],\n \"003A\" : [\"CS\", \"RefractiveIndexApplied\"]\n },\n \"0054\" : {\n \"0010\" : [\"US\", \"EnergyWindowVector\"],\n \"0011\" : [\"US\", \"NumberOfEnergyWindows\"],\n \"0012\" : [\"SQ\", \"EnergyWindowInformationSequence\"],\n \"0013\" : [\"SQ\", \"EnergyWindowRangeSequence\"],\n \"0014\" : [\"DS\", \"EnergyWindowLowerLimit\"],\n \"0015\" : [\"DS\", \"EnergyWindowUpperLimit\"],\n \"0016\" : [\"SQ\", \"RadiopharmaceuticalInformationSequence\"],\n \"0017\" : [\"IS\", \"ResidualSyringeCounts\"],\n \"0018\" : [\"SH\", \"EnergyWindowName\"],\n \"0020\" : [\"US\", \"DetectorVector\"],\n \"0021\" : [\"US\", \"NumberOfDetectors\"],\n \"0022\" : [\"SQ\", \"DetectorInformationSequence\"],\n \"0030\" : [\"US\", \"PhaseVector\"],\n \"0031\" : [\"US\", \"NumberOfPhases\"],\n \"0032\" : [\"SQ\", \"PhaseInformationSequence\"],\n \"0033\" : [\"US\", \"NumberOfFramesInPhase\"],\n \"0036\" : [\"IS\", \"PhaseDelay\"],\n \"0038\" : [\"IS\", \"PauseBetweenFrames\"],\n \"0039\" : [\"CS\", \"PhaseDescription\"],\n \"0050\" : [\"US\", \"RotationVector\"],\n \"0051\" : [\"US\", \"NumberOfRotations\"],\n \"0052\" : [\"SQ\", \"RotationInformationSequence\"],\n \"0053\" : [\"US\", \"NumberOfFramesInRotation\"],\n \"0060\" : [\"US\", \"RRIntervalVector\"],\n \"0061\" : [\"US\", \"NumberOfRRIntervals\"],\n \"0062\" : [\"SQ\", \"GatedInformationSequence\"],\n \"0063\" : [\"SQ\", \"DataInformationSequence\"],\n \"0070\" : [\"US\", \"TimeSlotVector\"],\n \"0071\" : [\"US\", \"NumberOfTimeSlots\"],\n \"0072\" : [\"SQ\", \"TimeSlotInformationSequence\"],\n \"0073\" : [\"DS\", \"TimeSlotTime\"],\n \"0080\" : [\"US\", \"SliceVector\"],\n \"0081\" : [\"US\", \"NumberOfSlices\"],\n \"0090\" : [\"US\", \"AngularViewVector\"],\n \"0100\" : [\"US\", \"TimeSliceVector\"],\n \"0101\" : [\"US\", \"NumberOfTimeSlices\"],\n \"0200\" : [\"DS\", \"StartAngle\"],\n \"0202\" : [\"CS\", \"TypeOfDetectorMotion\"],\n \"0210\" : [\"IS\", \"TriggerVector\"],\n \"0211\" : [\"US\", \"NumberOfTriggersInPhase\"],\n \"0220\" : [\"SQ\", \"ViewCodeSequence\"],\n \"0222\" : [\"SQ\", \"ViewModifierCodeSequence\"],\n \"0300\" : [\"SQ\", \"RadionuclideCodeSequence\"],\n \"0302\" : [\"SQ\", \"AdministrationRouteCodeSequence\"],\n \"0304\" : [\"SQ\", \"RadiopharmaceuticalCodeSequence\"],\n \"0306\" : [\"SQ\", \"CalibrationDataSequence\"],\n \"0308\" : [\"US\", \"EnergyWindowNumber\"],\n \"0400\" : [\"SH\", \"ImageID\"],\n \"0410\" : [\"SQ\", \"PatientOrientationCodeSequence\"],\n \"0412\" : [\"SQ\", \"PatientOrientationModifierCodeSequence\"],\n \"0414\" : [\"SQ\", \"PatientGantryRelationshipCodeSequence\"],\n \"0500\" : [\"CS\", \"SliceProgressionDirection\"],\n \"1000\" : [\"CS\", \"SeriesType\"],\n \"1001\" : [\"CS\", \"Units\"],\n \"1002\" : [\"CS\", \"CountsSource\"],\n \"1004\" : [\"CS\", \"ReprojectionMethod\"],\n \"1006\" : [\"CS\", \"SUVType\"],\n \"1100\" : [\"CS\", \"RandomsCorrectionMethod\"],\n \"1101\" : [\"LO\", \"AttenuationCorrectionMethod\"],\n \"1102\" : [\"CS\", \"DecayCorrection\"],\n \"1103\" : [\"LO\", \"ReconstructionMethod\"],\n \"1104\" : [\"LO\", \"DetectorLinesOfResponseUsed\"],\n \"1105\" : [\"LO\", \"ScatterCorrectionMethod\"],\n \"1200\" : [\"DS\", \"AxialAcceptance\"],\n \"1201\" : [\"IS\", \"AxialMash\"],\n \"1202\" : [\"IS\", \"TransverseMash\"],\n \"1203\" : [\"DS\", \"DetectorElementSize\"],\n \"1210\" : [\"DS\", \"CoincidenceWindowWidth\"],\n \"1220\" : [\"CS\", \"SecondaryCountsType\"],\n \"1300\" : [\"DS\", \"FrameReferenceTime\"],\n \"1310\" : [\"IS\", \"PrimaryPromptsCountsAccumulated\"],\n \"1311\" : [\"IS\", \"SecondaryCountsAccumulated\"],\n \"1320\" : [\"DS\", \"SliceSensitivityFactor\"],\n \"1321\" : [\"DS\", \"DecayFactor\"],\n \"1322\" : [\"DS\", \"DoseCalibrationFactor\"],\n \"1323\" : [\"DS\", \"ScatterFractionFactor\"],\n \"1324\" : [\"DS\", \"DeadTimeFactor\"],\n \"1330\" : [\"US\", \"ImageIndex\"],\n \"1400\" : [\"CS\", \"CountsIncluded\"],\n \"1401\" : [\"CS\", \"DeadTimeCorrectionFlag\"]\n },\n \"0060\" : {\n \"3000\" : [\"SQ\", \"HistogramSequence\"],\n \"3002\" : [\"US\", \"HistogramNumberOfBins\"],\n \"3004\" : [\"SS\", \"HistogramFirstBinValue\"],\n \"3006\" : [\"SS\", \"HistogramLastBinValue\"],\n \"3008\" : [\"US\", \"HistogramBinWidth\"],\n \"3010\" : [\"LO\", \"HistogramExplanation\"],\n \"3020\" : [\"UL\", \"HistogramData\"]\n },\n \"0062\" : {\n \"0001\" : [\"CS\", \"SegmentationType\"],\n \"0002\" : [\"SQ\", \"SegmentSequence\"],\n \"0003\" : [\"SQ\", \"SegmentedPropertyCategoryCodeSequence\"],\n \"0004\" : [\"US\", \"SegmentNumber\"],\n \"0005\" : [\"LO\", \"SegmentLabel\"],\n \"0006\" : [\"ST\", \"SegmentDescription\"],\n \"0008\" : [\"CS\", \"SegmentAlgorithmType\"],\n \"0009\" : [\"LO\", \"SegmentAlgorithmName\"],\n \"000A\" : [\"SQ\", \"SegmentIdentificationSequence\"],\n \"000B\" : [\"US\", \"ReferencedSegmentNumber\"],\n \"000C\" : [\"US\", \"RecommendedDisplayGrayscaleValue\"],\n \"000D\" : [\"US\", \"RecommendedDisplayCIELabValue\"],\n \"000E\" : [\"US\", \"MaximumFractionalValue\"],\n \"000F\" : [\"SQ\", \"SegmentedPropertyTypeCodeSequence\"],\n \"0010\" : [\"CS\", \"SegmentationFractionalType\"]\n },\n \"0064\" : {\n \"0002\" : [\"SQ\", \"DeformableRegistrationSequence\"],\n \"0003\" : [\"UI\", \"SourceFrameOfReferenceUID\"],\n \"0005\" : [\"SQ\", \"DeformableRegistrationGridSequence\"],\n \"0007\" : [\"UL\", \"GridDimensions\"],\n \"0008\" : [\"FD\", \"GridResolution\"],\n \"0009\" : [\"OF\", \"VectorGridData\"],\n \"000F\" : [\"SQ\", \"PreDeformationMatrixRegistrationSequence\"],\n \"0010\" : [\"SQ\", \"PostDeformationMatrixRegistrationSequence\"]\n },\n \"0066\" : {\n \"0001\" : [\"UL\", \"NumberOfSurfaces\"],\n \"0002\" : [\"SQ\", \"SurfaceSequence\"],\n \"0003\" : [\"UL\", \"SurfaceNumber\"],\n \"0004\" : [\"LT\", \"SurfaceComments\"],\n \"0009\" : [\"CS\", \"SurfaceProcessing\"],\n \"000A\" : [\"FL\", \"SurfaceProcessingRatio\"],\n \"000B\" : [\"LO\", \"SurfaceProcessingDescription\"],\n \"000C\" : [\"FL\", \"RecommendedPresentationOpacity\"],\n \"000D\" : [\"CS\", \"RecommendedPresentationType\"],\n \"000E\" : [\"CS\", \"FiniteVolume\"],\n \"0010\" : [\"CS\", \"Manifold\"],\n \"0011\" : [\"SQ\", \"SurfacePointsSequence\"],\n \"0012\" : [\"SQ\", \"SurfacePointsNormalsSequence\"],\n \"0013\" : [\"SQ\", \"SurfaceMeshPrimitivesSequence\"],\n \"0015\" : [\"UL\", \"NumberOfSurfacePoints\"],\n \"0016\" : [\"OF\", \"PointCoordinatesData\"],\n \"0017\" : [\"FL\", \"PointPositionAccuracy\"],\n \"0018\" : [\"FL\", \"MeanPointDistance\"],\n \"0019\" : [\"FL\", \"MaximumPointDistance\"],\n \"001A\" : [\"FL\", \"PointsBoundingBoxCoordinates\"],\n \"001B\" : [\"FL\", \"AxisOfRotation\"],\n \"001C\" : [\"FL\", \"CenterOfRotation\"],\n \"001E\" : [\"UL\", \"NumberOfVectors\"],\n \"001F\" : [\"US\", \"VectorDimensionality\"],\n \"0020\" : [\"FL\", \"VectorAccuracy\"],\n \"0021\" : [\"OF\", \"VectorCoordinateData\"],\n \"0023\" : [\"OW\", \"TrianglePointIndexList\"],\n \"0024\" : [\"OW\", \"EdgePointIndexList\"],\n \"0025\" : [\"OW\", \"VertexPointIndexList\"],\n \"0026\" : [\"SQ\", \"TriangleStripSequence\"],\n \"0027\" : [\"SQ\", \"TriangleFanSequence\"],\n \"0028\" : [\"SQ\", \"LineSequence\"],\n \"0029\" : [\"OW\", \"PrimitivePointIndexList\"],\n \"002A\" : [\"UL\", \"SurfaceCount\"],\n \"002B\" : [\"SQ\", \"ReferencedSurfaceSequence\"],\n \"002C\" : [\"UL\", \"ReferencedSurfaceNumber\"],\n \"002D\" : [\"SQ\", \"SegmentSurfaceGenerationAlgorithmIdentificationSequence\"],\n \"002E\" : [\"SQ\", \"SegmentSurfaceSourceInstanceSequence\"],\n \"002F\" : [\"SQ\", \"AlgorithmFamilyCodeSequence\"],\n \"0030\" : [\"SQ\", \"AlgorithmNameCodeSequence\"],\n \"0031\" : [\"LO\", \"AlgorithmVersion\"],\n \"0032\" : [\"LT\", \"AlgorithmParameters\"],\n \"0034\" : [\"SQ\", \"FacetSequence\"],\n \"0035\" : [\"SQ\", \"SurfaceProcessingAlgorithmIdentificationSequence\"],\n \"0036\" : [\"LO\", \"AlgorithmName\"]\n },\n \"0068\" : {\n \"6210\" : [\"LO\", \"ImplantSize\"],\n \"6221\" : [\"LO\", \"ImplantTemplateVersion\"],\n \"6222\" : [\"SQ\", \"ReplacedImplantTemplateSequence\"],\n \"6223\" : [\"CS\", \"ImplantType\"],\n \"6224\" : [\"SQ\", \"DerivationImplantTemplateSequence\"],\n \"6225\" : [\"SQ\", \"OriginalImplantTemplateSequence\"],\n \"6226\" : [\"DT\", \"EffectiveDateTime\"],\n \"6230\" : [\"SQ\", \"ImplantTargetAnatomySequence\"],\n \"6260\" : [\"SQ\", \"InformationFromManufacturerSequence\"],\n \"6265\" : [\"SQ\", \"NotificationFromManufacturerSequence\"],\n \"6270\" : [\"DT\", \"InformationIssueDateTime\"],\n \"6280\" : [\"ST\", \"InformationSummary\"],\n \"62A0\" : [\"SQ\", \"ImplantRegulatoryDisapprovalCodeSequence\"],\n \"62A5\" : [\"FD\", \"OverallTemplateSpatialTolerance\"],\n \"62C0\" : [\"SQ\", \"HPGLDocumentSequence\"],\n \"62D0\" : [\"US\", \"HPGLDocumentID\"],\n \"62D5\" : [\"LO\", \"HPGLDocumentLabel\"],\n \"62E0\" : [\"SQ\", \"ViewOrientationCodeSequence\"],\n \"62F0\" : [\"FD\", \"ViewOrientationModifier\"],\n \"62F2\" : [\"FD\", \"HPGLDocumentScaling\"],\n \"6300\" : [\"OB\", \"HPGLDocument\"],\n \"6310\" : [\"US\", \"HPGLContourPenNumber\"],\n \"6320\" : [\"SQ\", \"HPGLPenSequence\"],\n \"6330\" : [\"US\", \"HPGLPenNumber\"],\n \"6340\" : [\"LO\", \"HPGLPenLabel\"],\n \"6345\" : [\"ST\", \"HPGLPenDescription\"],\n \"6346\" : [\"FD\", \"RecommendedRotationPoint\"],\n \"6347\" : [\"FD\", \"BoundingRectangle\"],\n \"6350\" : [\"US\", \"ImplantTemplate3DModelSurfaceNumber\"],\n \"6360\" : [\"SQ\", \"SurfaceModelDescriptionSequence\"],\n \"6380\" : [\"LO\", \"SurfaceModelLabel\"],\n \"6390\" : [\"FD\", \"SurfaceModelScalingFactor\"],\n \"63A0\" : [\"SQ\", \"MaterialsCodeSequence\"],\n \"63A4\" : [\"SQ\", \"CoatingMaterialsCodeSequence\"],\n \"63A8\" : [\"SQ\", \"ImplantTypeCodeSequence\"],\n \"63AC\" : [\"SQ\", \"FixationMethodCodeSequence\"],\n \"63B0\" : [\"SQ\", \"MatingFeatureSetsSequence\"],\n \"63C0\" : [\"US\", \"MatingFeatureSetID\"],\n \"63D0\" : [\"LO\", \"MatingFeatureSetLabel\"],\n \"63E0\" : [\"SQ\", \"MatingFeatureSequence\"],\n \"63F0\" : [\"US\", \"MatingFeatureID\"],\n \"6400\" : [\"SQ\", \"MatingFeatureDegreeOfFreedomSequence\"],\n \"6410\" : [\"US\", \"DegreeOfFreedomID\"],\n \"6420\" : [\"CS\", \"DegreeOfFreedomType\"],\n \"6430\" : [\"SQ\", \"TwoDMatingFeatureCoordinatesSequence\"],\n \"6440\" : [\"US\", \"ReferencedHPGLDocumentID\"],\n \"6450\" : [\"FD\", \"TwoDMatingPoint\"],\n \"6460\" : [\"FD\", \"TwoDMatingAxes\"],\n \"6470\" : [\"SQ\", \"TwoDDegreeOfFreedomSequence\"],\n \"6490\" : [\"FD\", \"ThreeDDegreeOfFreedomAxis\"],\n \"64A0\" : [\"FD\", \"RangeOfFreedom\"],\n \"64C0\" : [\"FD\", \"ThreeDMatingPoint\"],\n \"64D0\" : [\"FD\", \"ThreeDMatingAxes\"],\n \"64F0\" : [\"FD\", \"TwoDDegreeOfFreedomAxis\"],\n \"6500\" : [\"SQ\", \"PlanningLandmarkPointSequence\"],\n \"6510\" : [\"SQ\", \"PlanningLandmarkLineSequence\"],\n \"6520\" : [\"SQ\", \"PlanningLandmarkPlaneSequence\"],\n \"6530\" : [\"US\", \"PlanningLandmarkID\"],\n \"6540\" : [\"LO\", \"PlanningLandmarkDescription\"],\n \"6545\" : [\"SQ\", \"PlanningLandmarkIdentificationCodeSequence\"],\n \"6550\" : [\"SQ\", \"TwoDPointCoordinatesSequence\"],\n \"6560\" : [\"FD\", \"TwoDPointCoordinates\"],\n \"6590\" : [\"FD\", \"ThreeDPointCoordinates\"],\n \"65A0\" : [\"SQ\", \"TwoDLineCoordinatesSequence\"],\n \"65B0\" : [\"FD\", \"TwoDLineCoordinates\"],\n \"65D0\" : [\"FD\", \"ThreeDLineCoordinates\"],\n \"65E0\" : [\"SQ\", \"TwoDPlaneCoordinatesSequence\"],\n \"65F0\" : [\"FD\", \"TwoDPlaneIntersection\"],\n \"6610\" : [\"FD\", \"ThreeDPlaneOrigin\"],\n \"6620\" : [\"FD\", \"ThreeDPlaneNormal\"]\n },\n \"0070\" : {\n \"0001\" : [\"SQ\", \"GraphicAnnotationSequence\"],\n \"0002\" : [\"CS\", \"GraphicLayer\"],\n \"0003\" : [\"CS\", \"BoundingBoxAnnotationUnits\"],\n \"0004\" : [\"CS\", \"AnchorPointAnnotationUnits\"],\n \"0005\" : [\"CS\", \"GraphicAnnotationUnits\"],\n \"0006\" : [\"ST\", \"UnformattedTextValue\"],\n \"0008\" : [\"SQ\", \"TextObjectSequence\"],\n \"0009\" : [\"SQ\", \"GraphicObjectSequence\"],\n \"0010\" : [\"FL\", \"BoundingBoxTopLeftHandCorner\"],\n \"0011\" : [\"FL\", \"BoundingBoxBottomRightHandCorner\"],\n \"0012\" : [\"CS\", \"BoundingBoxTextHorizontalJustification\"],\n \"0014\" : [\"FL\", \"AnchorPoint\"],\n \"0015\" : [\"CS\", \"AnchorPointVisibility\"],\n \"0020\" : [\"US\", \"GraphicDimensions\"],\n \"0021\" : [\"US\", \"NumberOfGraphicPoints\"],\n \"0022\" : [\"FL\", \"GraphicData\"],\n \"0023\" : [\"CS\", \"GraphicType\"],\n \"0024\" : [\"CS\", \"GraphicFilled\"],\n \"0040\" : [\"IS\", \"ImageRotationRetired\"],\n \"0041\" : [\"CS\", \"ImageHorizontalFlip\"],\n \"0042\" : [\"US\", \"ImageRotation\"],\n \"0050\" : [\"US\", \"DisplayedAreaTopLeftHandCornerTrial\"],\n \"0051\" : [\"US\", \"DisplayedAreaBottomRightHandCornerTrial\"],\n \"0052\" : [\"SL\", \"DisplayedAreaTopLeftHandCorner\"],\n \"0053\" : [\"SL\", \"DisplayedAreaBottomRightHandCorner\"],\n \"005A\" : [\"SQ\", \"DisplayedAreaSelectionSequence\"],\n \"0060\" : [\"SQ\", \"GraphicLayerSequence\"],\n \"0062\" : [\"IS\", \"GraphicLayerOrder\"],\n \"0066\" : [\"US\", \"GraphicLayerRecommendedDisplayGrayscaleValue\"],\n \"0067\" : [\"US\", \"GraphicLayerRecommendedDisplayRGBValue\"],\n \"0068\" : [\"LO\", \"GraphicLayerDescription\"],\n \"0080\" : [\"CS\", \"ContentLabel\"],\n \"0081\" : [\"LO\", \"ContentDescription\"],\n \"0082\" : [\"DA\", \"PresentationCreationDate\"],\n \"0083\" : [\"TM\", \"PresentationCreationTime\"],\n \"0084\" : [\"PN\", \"ContentCreatorName\"],\n \"0086\" : [\"SQ\", \"ContentCreatorIdentificationCodeSequence\"],\n \"0087\" : [\"SQ\", \"AlternateContentDescriptionSequence\"],\n \"0100\" : [\"CS\", \"PresentationSizeMode\"],\n \"0101\" : [\"DS\", \"PresentationPixelSpacing\"],\n \"0102\" : [\"IS\", \"PresentationPixelAspectRatio\"],\n \"0103\" : [\"FL\", \"PresentationPixelMagnificationRatio\"],\n \"0207\" : [\"LO\", \"GraphicGroupLabel\"],\n \"0208\" : [\"ST\", \"GraphicGroupDescription\"],\n \"0209\" : [\"SQ\", \"CompoundGraphicSequence\"],\n \"0226\" : [\"UL\", \"CompoundGraphicInstanceID\"],\n \"0227\" : [\"LO\", \"FontName\"],\n \"0228\" : [\"CS\", \"FontNameType\"],\n \"0229\" : [\"LO\", \"CSSFontName\"],\n \"0230\" : [\"FD\", \"RotationAngle\"],\n \"0231\" : [\"SQ\", \"TextStyleSequence\"],\n \"0232\" : [\"SQ\", \"LineStyleSequence\"],\n \"0233\" : [\"SQ\", \"FillStyleSequence\"],\n \"0234\" : [\"SQ\", \"GraphicGroupSequence\"],\n \"0241\" : [\"US\", \"TextColorCIELabValue\"],\n \"0242\" : [\"CS\", \"HorizontalAlignment\"],\n \"0243\" : [\"CS\", \"VerticalAlignment\"],\n \"0244\" : [\"CS\", \"ShadowStyle\"],\n \"0245\" : [\"FL\", \"ShadowOffsetX\"],\n \"0246\" : [\"FL\", \"ShadowOffsetY\"],\n \"0247\" : [\"US\", \"ShadowColorCIELabValue\"],\n \"0248\" : [\"CS\", \"Underlined\"],\n \"0249\" : [\"CS\", \"Bold\"],\n \"0250\" : [\"CS\", \"Italic\"],\n \"0251\" : [\"US\", \"PatternOnColorCIELabValue\"],\n \"0252\" : [\"US\", \"PatternOffColorCIELabValue\"],\n \"0253\" : [\"FL\", \"LineThickness\"],\n \"0254\" : [\"CS\", \"LineDashingStyle\"],\n \"0255\" : [\"UL\", \"LinePattern\"],\n \"0256\" : [\"OB\", \"FillPattern\"],\n \"0257\" : [\"CS\", \"FillMode\"],\n \"0258\" : [\"FL\", \"ShadowOpacity\"],\n \"0261\" : [\"FL\", \"GapLength\"],\n \"0262\" : [\"FL\", \"DiameterOfVisibility\"],\n \"0273\" : [\"FL\", \"RotationPoint\"],\n \"0274\" : [\"CS\", \"TickAlignment\"],\n \"0278\" : [\"CS\", \"ShowTickLabel\"],\n \"0279\" : [\"CS\", \"TickLabelAlignment\"],\n \"0282\" : [\"CS\", \"CompoundGraphicUnits\"],\n \"0284\" : [\"FL\", \"PatternOnOpacity\"],\n \"0285\" : [\"FL\", \"PatternOffOpacity\"],\n \"0287\" : [\"SQ\", \"MajorTicksSequence\"],\n \"0288\" : [\"FL\", \"TickPosition\"],\n \"0289\" : [\"SH\", \"TickLabel\"],\n \"0294\" : [\"CS\", \"CompoundGraphicType\"],\n \"0295\" : [\"UL\", \"GraphicGroupID\"],\n \"0306\" : [\"CS\", \"ShapeType\"],\n \"0308\" : [\"SQ\", \"RegistrationSequence\"],\n \"0309\" : [\"SQ\", \"MatrixRegistrationSequence\"],\n \"030A\" : [\"SQ\", \"MatrixSequence\"],\n \"030C\" : [\"CS\", \"FrameOfReferenceTransformationMatrixType\"],\n \"030D\" : [\"SQ\", \"RegistrationTypeCodeSequence\"],\n \"030F\" : [\"ST\", \"FiducialDescription\"],\n \"0310\" : [\"SH\", \"FiducialIdentifier\"],\n \"0311\" : [\"SQ\", \"FiducialIdentifierCodeSequence\"],\n \"0312\" : [\"FD\", \"ContourUncertaintyRadius\"],\n \"0314\" : [\"SQ\", \"UsedFiducialsSequence\"],\n \"0318\" : [\"SQ\", \"GraphicCoordinatesDataSequence\"],\n \"031A\" : [\"UI\", \"FiducialUID\"],\n \"031C\" : [\"SQ\", \"FiducialSetSequence\"],\n \"031E\" : [\"SQ\", \"FiducialSequence\"],\n \"0401\" : [\"US\", \"GraphicLayerRecommendedDisplayCIELabValue\"],\n \"0402\" : [\"SQ\", \"BlendingSequence\"],\n \"0403\" : [\"FL\", \"RelativeOpacity\"],\n \"0404\" : [\"SQ\", \"ReferencedSpatialRegistrationSequence\"],\n \"0405\" : [\"CS\", \"BlendingPosition\"]\n },\n \"0072\" : {\n \"0002\" : [\"SH\", \"HangingProtocolName\"],\n \"0004\" : [\"LO\", \"HangingProtocolDescription\"],\n \"0006\" : [\"CS\", \"HangingProtocolLevel\"],\n \"0008\" : [\"LO\", \"HangingProtocolCreator\"],\n \"000A\" : [\"DT\", \"HangingProtocolCreationDateTime\"],\n \"000C\" : [\"SQ\", \"HangingProtocolDefinitionSequence\"],\n \"000E\" : [\"SQ\", \"HangingProtocolUserIdentificationCodeSequence\"],\n \"0010\" : [\"LO\", \"HangingProtocolUserGroupName\"],\n \"0012\" : [\"SQ\", \"SourceHangingProtocolSequence\"],\n \"0014\" : [\"US\", \"NumberOfPriorsReferenced\"],\n \"0020\" : [\"SQ\", \"ImageSetsSequence\"],\n \"0022\" : [\"SQ\", \"ImageSetSelectorSequence\"],\n \"0024\" : [\"CS\", \"ImageSetSelectorUsageFlag\"],\n \"0026\" : [\"AT\", \"SelectorAttribute\"],\n \"0028\" : [\"US\", \"SelectorValueNumber\"],\n \"0030\" : [\"SQ\", \"TimeBasedImageSetsSequence\"],\n \"0032\" : [\"US\", \"ImageSetNumber\"],\n \"0034\" : [\"CS\", \"ImageSetSelectorCategory\"],\n \"0038\" : [\"US\", \"RelativeTime\"],\n \"003A\" : [\"CS\", \"RelativeTimeUnits\"],\n \"003C\" : [\"SS\", \"AbstractPriorValue\"],\n \"003E\" : [\"SQ\", \"AbstractPriorCodeSequence\"],\n \"0040\" : [\"LO\", \"ImageSetLabel\"],\n \"0050\" : [\"CS\", \"SelectorAttributeVR\"],\n \"0052\" : [\"AT\", \"SelectorSequencePointer\"],\n \"0054\" : [\"LO\", \"SelectorSequencePointerPrivateCreator\"],\n \"0056\" : [\"LO\", \"SelectorAttributePrivateCreator\"],\n \"0060\" : [\"AT\", \"SelectorATValue\"],\n \"0062\" : [\"CS\", \"SelectorCSValue\"],\n \"0064\" : [\"IS\", \"SelectorISValue\"],\n \"0066\" : [\"LO\", \"SelectorLOValue\"],\n \"0068\" : [\"LT\", \"SelectorLTValue\"],\n \"006A\" : [\"PN\", \"SelectorPNValue\"],\n \"006C\" : [\"SH\", \"SelectorSHValue\"],\n \"006E\" : [\"ST\", \"SelectorSTValue\"],\n \"0070\" : [\"UT\", \"SelectorUTValue\"],\n \"0072\" : [\"DS\", \"SelectorDSValue\"],\n \"0074\" : [\"FD\", \"SelectorFDValue\"],\n \"0076\" : [\"FL\", \"SelectorFLValue\"],\n \"0078\" : [\"UL\", \"SelectorULValue\"],\n \"007A\" : [\"US\", \"SelectorUSValue\"],\n \"007C\" : [\"SL\", \"SelectorSLValue\"],\n \"007E\" : [\"SS\", \"SelectorSSValue\"],\n \"0080\" : [\"SQ\", \"SelectorCodeSequenceValue\"],\n \"0100\" : [\"US\", \"NumberOfScreens\"],\n \"0102\" : [\"SQ\", \"NominalScreenDefinitionSequence\"],\n \"0104\" : [\"US\", \"NumberOfVerticalPixels\"],\n \"0106\" : [\"US\", \"NumberOfHorizontalPixels\"],\n \"0108\" : [\"FD\", \"DisplayEnvironmentSpatialPosition\"],\n \"010A\" : [\"US\", \"ScreenMinimumGrayscaleBitDepth\"],\n \"010C\" : [\"US\", \"ScreenMinimumColorBitDepth\"],\n \"010E\" : [\"US\", \"ApplicationMaximumRepaintTime\"],\n \"0200\" : [\"SQ\", \"DisplaySetsSequence\"],\n \"0202\" : [\"US\", \"DisplaySetNumber\"],\n \"0203\" : [\"LO\", \"DisplaySetLabel\"],\n \"0204\" : [\"US\", \"DisplaySetPresentationGroup\"],\n \"0206\" : [\"LO\", \"DisplaySetPresentationGroupDescription\"],\n \"0208\" : [\"CS\", \"PartialDataDisplayHandling\"],\n \"0210\" : [\"SQ\", \"SynchronizedScrollingSequence\"],\n \"0212\" : [\"US\", \"DisplaySetScrollingGroup\"],\n \"0214\" : [\"SQ\", \"NavigationIndicatorSequence\"],\n \"0216\" : [\"US\", \"NavigationDisplaySet\"],\n \"0218\" : [\"US\", \"ReferenceDisplaySets\"],\n \"0300\" : [\"SQ\", \"ImageBoxesSequence\"],\n \"0302\" : [\"US\", \"ImageBoxNumber\"],\n \"0304\" : [\"CS\", \"ImageBoxLayoutType\"],\n \"0306\" : [\"US\", \"ImageBoxTileHorizontalDimension\"],\n \"0308\" : [\"US\", \"ImageBoxTileVerticalDimension\"],\n \"0310\" : [\"CS\", \"ImageBoxScrollDirection\"],\n \"0312\" : [\"CS\", \"ImageBoxSmallScrollType\"],\n \"0314\" : [\"US\", \"ImageBoxSmallScrollAmount\"],\n \"0316\" : [\"CS\", \"ImageBoxLargeScrollType\"],\n \"0318\" : [\"US\", \"ImageBoxLargeScrollAmount\"],\n \"0320\" : [\"US\", \"ImageBoxOverlapPriority\"],\n \"0330\" : [\"FD\", \"CineRelativeToRealTime\"],\n \"0400\" : [\"SQ\", \"FilterOperationsSequence\"],\n \"0402\" : [\"CS\", \"FilterByCategory\"],\n \"0404\" : [\"CS\", \"FilterByAttributePresence\"],\n \"0406\" : [\"CS\", \"FilterByOperator\"],\n \"0420\" : [\"US\", \"StructuredDisplayBackgroundCIELabValue\"],\n \"0421\" : [\"US\", \"EmptyImageBoxCIELabValue\"],\n \"0422\" : [\"SQ\", \"StructuredDisplayImageBoxSequence\"],\n \"0424\" : [\"SQ\", \"StructuredDisplayTextBoxSequence\"],\n \"0427\" : [\"SQ\", \"ReferencedFirstFrameSequence\"],\n \"0430\" : [\"SQ\", \"ImageBoxSynchronizationSequence\"],\n \"0432\" : [\"US\", \"SynchronizedImageBoxList\"],\n \"0434\" : [\"CS\", \"TypeOfSynchronization\"],\n \"0500\" : [\"CS\", \"BlendingOperationType\"],\n \"0510\" : [\"CS\", \"ReformattingOperationType\"],\n \"0512\" : [\"FD\", \"ReformattingThickness\"],\n \"0514\" : [\"FD\", \"ReformattingInterval\"],\n \"0516\" : [\"CS\", \"ReformattingOperationInitialViewDirection\"],\n \"0520\" : [\"CS\", \"ThreeDRenderingType\"],\n \"0600\" : [\"SQ\", \"SortingOperationsSequence\"],\n \"0602\" : [\"CS\", \"SortByCategory\"],\n \"0604\" : [\"CS\", \"SortingDirection\"],\n \"0700\" : [\"CS\", \"DisplaySetPatientOrientation\"],\n \"0702\" : [\"CS\", \"VOIType\"],\n \"0704\" : [\"CS\", \"PseudoColorType\"],\n \"0705\" : [\"SQ\", \"PseudoColorPaletteInstanceReferenceSequence\"],\n \"0706\" : [\"CS\", \"ShowGrayscaleInverted\"],\n \"0710\" : [\"CS\", \"ShowImageTrueSizeFlag\"],\n \"0712\" : [\"CS\", \"ShowGraphicAnnotationFlag\"],\n \"0714\" : [\"CS\", \"ShowPatientDemographicsFlag\"],\n \"0716\" : [\"CS\", \"ShowAcquisitionTechniquesFlag\"],\n \"0717\" : [\"CS\", \"DisplaySetHorizontalJustification\"],\n \"0718\" : [\"CS\", \"DisplaySetVerticalJustification\"]\n },\n \"0074\" : {\n \"0120\" : [\"FD\", \"ContinuationStartMeterset\"],\n \"0121\" : [\"FD\", \"ContinuationEndMeterset\"],\n \"1000\" : [\"CS\", \"ProcedureStepState\"],\n \"1002\" : [\"SQ\", \"ProcedureStepProgressInformationSequence\"],\n \"1004\" : [\"DS\", \"ProcedureStepProgress\"],\n \"1006\" : [\"ST\", \"ProcedureStepProgressDescription\"],\n \"1008\" : [\"SQ\", \"ProcedureStepCommunicationsURISequence\"],\n \"100A\" : [\"ST\", \"ContactURI\"],\n \"100C\" : [\"LO\", \"ContactDisplayName\"],\n \"100E\" : [\"SQ\", \"ProcedureStepDiscontinuationReasonCodeSequence\"],\n \"1020\" : [\"SQ\", \"BeamTaskSequence\"],\n \"1022\" : [\"CS\", \"BeamTaskType\"],\n \"1024\" : [\"IS\", \"BeamOrderIndexTrial\"],\n \"1026\" : [\"FD\", \"TableTopVerticalAdjustedPosition\"],\n \"1027\" : [\"FD\", \"TableTopLongitudinalAdjustedPosition\"],\n \"1028\" : [\"FD\", \"TableTopLateralAdjustedPosition\"],\n \"102A\" : [\"FD\", \"PatientSupportAdjustedAngle\"],\n \"102B\" : [\"FD\", \"TableTopEccentricAdjustedAngle\"],\n \"102C\" : [\"FD\", \"TableTopPitchAdjustedAngle\"],\n \"102D\" : [\"FD\", \"TableTopRollAdjustedAngle\"],\n \"1030\" : [\"SQ\", \"DeliveryVerificationImageSequence\"],\n \"1032\" : [\"CS\", \"VerificationImageTiming\"],\n \"1034\" : [\"CS\", \"DoubleExposureFlag\"],\n \"1036\" : [\"CS\", \"DoubleExposureOrdering\"],\n \"1038\" : [\"DS\", \"DoubleExposureMetersetTrial\"],\n \"103A\" : [\"DS\", \"DoubleExposureFieldDeltaTrial\"],\n \"1040\" : [\"SQ\", \"RelatedReferenceRTImageSequence\"],\n \"1042\" : [\"SQ\", \"GeneralMachineVerificationSequence\"],\n \"1044\" : [\"SQ\", \"ConventionalMachineVerificationSequence\"],\n \"1046\" : [\"SQ\", \"IonMachineVerificationSequence\"],\n \"1048\" : [\"SQ\", \"FailedAttributesSequence\"],\n \"104A\" : [\"SQ\", \"OverriddenAttributesSequence\"],\n \"104C\" : [\"SQ\", \"ConventionalControlPointVerificationSequence\"],\n \"104E\" : [\"SQ\", \"IonControlPointVerificationSequence\"],\n \"1050\" : [\"SQ\", \"AttributeOccurrenceSequence\"],\n \"1052\" : [\"AT\", \"AttributeOccurrencePointer\"],\n \"1054\" : [\"UL\", \"AttributeItemSelector\"],\n \"1056\" : [\"LO\", \"AttributeOccurrencePrivateCreator\"],\n \"1057\" : [\"IS\", \"SelectorSequencePointerItems\"],\n \"1200\" : [\"CS\", \"ScheduledProcedureStepPriority\"],\n \"1202\" : [\"LO\", \"WorklistLabel\"],\n \"1204\" : [\"LO\", \"ProcedureStepLabel\"],\n \"1210\" : [\"SQ\", \"ScheduledProcessingParametersSequence\"],\n \"1212\" : [\"SQ\", \"PerformedProcessingParametersSequence\"],\n \"1216\" : [\"SQ\", \"UnifiedProcedureStepPerformedProcedureSequence\"],\n \"1220\" : [\"SQ\", \"RelatedProcedureStepSequence\"],\n \"1222\" : [\"LO\", \"ProcedureStepRelationshipType\"],\n \"1224\" : [\"SQ\", \"ReplacedProcedureStepSequence\"],\n \"1230\" : [\"LO\", \"DeletionLock\"],\n \"1234\" : [\"AE\", \"ReceivingAE\"],\n \"1236\" : [\"AE\", \"RequestingAE\"],\n \"1238\" : [\"LT\", \"ReasonForCancellation\"],\n \"1242\" : [\"CS\", \"SCPStatus\"],\n \"1244\" : [\"CS\", \"SubscriptionListStatus\"],\n \"1246\" : [\"CS\", \"UnifiedProcedureStepListStatus\"],\n \"1324\" : [\"UL\", \"BeamOrderIndex\"],\n \"1338\" : [\"FD\", \"DoubleExposureMeterset\"],\n \"133A\" : [\"FD\", \"DoubleExposureFieldDelta\"]\n },\n \"0076\" : {\n \"0001\" : [\"LO\", \"ImplantAssemblyTemplateName\"],\n \"0003\" : [\"LO\", \"ImplantAssemblyTemplateIssuer\"],\n \"0006\" : [\"LO\", \"ImplantAssemblyTemplateVersion\"],\n \"0008\" : [\"SQ\", \"ReplacedImplantAssemblyTemplateSequence\"],\n \"000A\" : [\"CS\", \"ImplantAssemblyTemplateType\"],\n \"000C\" : [\"SQ\", \"OriginalImplantAssemblyTemplateSequence\"],\n \"000E\" : [\"SQ\", \"DerivationImplantAssemblyTemplateSequence\"],\n \"0010\" : [\"SQ\", \"ImplantAssemblyTemplateTargetAnatomySequence\"],\n \"0020\" : [\"SQ\", \"ProcedureTypeCodeSequence\"],\n \"0030\" : [\"LO\", \"SurgicalTechnique\"],\n \"0032\" : [\"SQ\", \"ComponentTypesSequence\"],\n \"0034\" : [\"CS\", \"ComponentTypeCodeSequence\"],\n \"0036\" : [\"CS\", \"ExclusiveComponentType\"],\n \"0038\" : [\"CS\", \"MandatoryComponentType\"],\n \"0040\" : [\"SQ\", \"ComponentSequence\"],\n \"0055\" : [\"US\", \"ComponentID\"],\n \"0060\" : [\"SQ\", \"ComponentAssemblySequence\"],\n \"0070\" : [\"US\", \"Component1ReferencedID\"],\n \"0080\" : [\"US\", \"Component1ReferencedMatingFeatureSetID\"],\n \"0090\" : [\"US\", \"Component1ReferencedMatingFeatureID\"],\n \"00A0\" : [\"US\", \"Component2ReferencedID\"],\n \"00B0\" : [\"US\", \"Component2ReferencedMatingFeatureSetID\"],\n \"00C0\" : [\"US\", \"Component2ReferencedMatingFeatureID\"]\n },\n \"0078\" : {\n \"0001\" : [\"LO\", \"ImplantTemplateGroupName\"],\n \"0010\" : [\"ST\", \"ImplantTemplateGroupDescription\"],\n \"0020\" : [\"LO\", \"ImplantTemplateGroupIssuer\"],\n \"0024\" : [\"LO\", \"ImplantTemplateGroupVersion\"],\n \"0026\" : [\"SQ\", \"ReplacedImplantTemplateGroupSequence\"],\n \"0028\" : [\"SQ\", \"ImplantTemplateGroupTargetAnatomySequence\"],\n \"002A\" : [\"SQ\", \"ImplantTemplateGroupMembersSequence\"],\n \"002E\" : [\"US\", \"ImplantTemplateGroupMemberID\"],\n \"0050\" : [\"FD\", \"ThreeDImplantTemplateGroupMemberMatchingPoint\"],\n \"0060\" : [\"FD\", \"ThreeDImplantTemplateGroupMemberMatchingAxes\"],\n \"0070\" : [\"SQ\", \"ImplantTemplateGroupMemberMatching2DCoordinatesSequence\"],\n \"0090\" : [\"FD\", \"TwoDImplantTemplateGroupMemberMatchingPoint\"],\n \"00A0\" : [\"FD\", \"TwoDImplantTemplateGroupMemberMatchingAxes\"],\n \"00B0\" : [\"SQ\", \"ImplantTemplateGroupVariationDimensionSequence\"],\n \"00B2\" : [\"LO\", \"ImplantTemplateGroupVariationDimensionName\"],\n \"00B4\" : [\"SQ\", \"ImplantTemplateGroupVariationDimensionRankSequence\"],\n \"00B6\" : [\"US\", \"ReferencedImplantTemplateGroupMemberID\"],\n \"00B8\" : [\"US\", \"ImplantTemplateGroupVariationDimensionRank\"]\n },\n \"0088\" : {\n \"0130\" : [\"SH\", \"StorageMediaFileSetID\"],\n \"0140\" : [\"UI\", \"StorageMediaFileSetUID\"],\n \"0200\" : [\"SQ\", \"IconImageSequence\"],\n \"0904\" : [\"LO\", \"TopicTitle\"],\n \"0906\" : [\"ST\", \"TopicSubject\"],\n \"0910\" : [\"LO\", \"TopicAuthor\"],\n \"0912\" : [\"LO\", \"TopicKeywords\"]\n },\n \"0100\" : {\n \"0410\" : [\"CS\", \"SOPInstanceStatus\"],\n \"0420\" : [\"DT\", \"SOPAuthorizationDateTime\"],\n \"0424\" : [\"LT\", \"SOPAuthorizationComment\"],\n \"0426\" : [\"LO\", \"AuthorizationEquipmentCertificationNumber\"]\n },\n \"0400\" : {\n \"0005\" : [\"US\", \"MACIDNumber\"],\n \"0010\" : [\"UI\", \"MACCalculationTransferSyntaxUID\"],\n \"0015\" : [\"CS\", \"MACAlgorithm\"],\n \"0020\" : [\"AT\", \"DataElementsSigned\"],\n \"0100\" : [\"UI\", \"DigitalSignatureUID\"],\n \"0105\" : [\"DT\", \"DigitalSignatureDateTime\"],\n \"0110\" : [\"CS\", \"CertificateType\"],\n \"0115\" : [\"OB\", \"CertificateOfSigner\"],\n \"0120\" : [\"OB\", \"Signature\"],\n \"0305\" : [\"CS\", \"CertifiedTimestampType\"],\n \"0310\" : [\"OB\", \"CertifiedTimestamp\"],\n \"0401\" : [\"SQ\", \"DigitalSignaturePurposeCodeSequence\"],\n \"0402\" : [\"SQ\", \"ReferencedDigitalSignatureSequence\"],\n \"0403\" : [\"SQ\", \"ReferencedSOPInstanceMACSequence\"],\n \"0404\" : [\"OB\", \"MAC\"],\n \"0500\" : [\"SQ\", \"EncryptedAttributesSequence\"],\n \"0510\" : [\"UI\", \"EncryptedContentTransferSyntaxUID\"],\n \"0520\" : [\"OB\", \"EncryptedContent\"],\n \"0550\" : [\"SQ\", \"ModifiedAttributesSequence\"],\n \"0561\" : [\"SQ\", \"OriginalAttributesSequence\"],\n \"0562\" : [\"DT\", \"AttributeModificationDateTime\"],\n \"0563\" : [\"LO\", \"ModifyingSystem\"],\n \"0564\" : [\"LO\", \"SourceOfPreviousValues\"],\n \"0565\" : [\"CS\", \"ReasonForTheAttributeModification\"]\n },\n \"2000\" : {\n \"0010\" : [\"IS\", \"NumberOfCopies\"],\n \"001E\" : [\"SQ\", \"PrinterConfigurationSequence\"],\n \"0020\" : [\"CS\", \"PrintPriority\"],\n \"0030\" : [\"CS\", \"MediumType\"],\n \"0040\" : [\"CS\", \"FilmDestination\"],\n \"0050\" : [\"LO\", \"FilmSessionLabel\"],\n \"0060\" : [\"IS\", \"MemoryAllocation\"],\n \"0061\" : [\"IS\", \"MaximumMemoryAllocation\"],\n \"0062\" : [\"CS\", \"ColorImagePrintingFlag\"],\n \"0063\" : [\"CS\", \"CollationFlag\"],\n \"0065\" : [\"CS\", \"AnnotationFlag\"],\n \"0067\" : [\"CS\", \"ImageOverlayFlag\"],\n \"0069\" : [\"CS\", \"PresentationLUTFlag\"],\n \"006A\" : [\"CS\", \"ImageBoxPresentationLUTFlag\"],\n \"00A0\" : [\"US\", \"MemoryBitDepth\"],\n \"00A1\" : [\"US\", \"PrintingBitDepth\"],\n \"00A2\" : [\"SQ\", \"MediaInstalledSequence\"],\n \"00A4\" : [\"SQ\", \"OtherMediaAvailableSequence\"],\n \"00A8\" : [\"SQ\", \"SupportedImageDisplayFormatsSequence\"],\n \"0500\" : [\"SQ\", \"ReferencedFilmBoxSequence\"],\n \"0510\" : [\"SQ\", \"ReferencedStoredPrintSequence\"]\n },\n \"2010\" : {\n \"0010\" : [\"ST\", \"ImageDisplayFormat\"],\n \"0030\" : [\"CS\", \"AnnotationDisplayFormatID\"],\n \"0040\" : [\"CS\", \"FilmOrientation\"],\n \"0050\" : [\"CS\", \"FilmSizeID\"],\n \"0052\" : [\"CS\", \"PrinterResolutionID\"],\n \"0054\" : [\"CS\", \"DefaultPrinterResolutionID\"],\n \"0060\" : [\"CS\", \"MagnificationType\"],\n \"0080\" : [\"CS\", \"SmoothingType\"],\n \"00A6\" : [\"CS\", \"DefaultMagnificationType\"],\n \"00A7\" : [\"CS\", \"OtherMagnificationTypesAvailable\"],\n \"00A8\" : [\"CS\", \"DefaultSmoothingType\"],\n \"00A9\" : [\"CS\", \"OtherSmoothingTypesAvailable\"],\n \"0100\" : [\"CS\", \"BorderDensity\"],\n \"0110\" : [\"CS\", \"EmptyImageDensity\"],\n \"0120\" : [\"US\", \"MinDensity\"],\n \"0130\" : [\"US\", \"MaxDensity\"],\n \"0140\" : [\"CS\", \"Trim\"],\n \"0150\" : [\"ST\", \"ConfigurationInformation\"],\n \"0152\" : [\"LT\", \"ConfigurationInformationDescription\"],\n \"0154\" : [\"IS\", \"MaximumCollatedFilms\"],\n \"015E\" : [\"US\", \"Illumination\"],\n \"0160\" : [\"US\", \"ReflectedAmbientLight\"],\n \"0376\" : [\"DS\", \"PrinterPixelSpacing\"],\n \"0500\" : [\"SQ\", \"ReferencedFilmSessionSequence\"],\n \"0510\" : [\"SQ\", \"ReferencedImageBoxSequence\"],\n \"0520\" : [\"SQ\", \"ReferencedBasicAnnotationBoxSequence\"]\n },\n \"2020\" : {\n \"0010\" : [\"US\", \"ImageBoxPosition\"],\n \"0020\" : [\"CS\", \"Polarity\"],\n \"0030\" : [\"DS\", \"RequestedImageSize\"],\n \"0040\" : [\"CS\", \"RequestedDecimateCropBehavior\"],\n \"0050\" : [\"CS\", \"RequestedResolutionID\"],\n \"00A0\" : [\"CS\", \"RequestedImageSizeFlag\"],\n \"00A2\" : [\"CS\", \"DecimateCropResult\"],\n \"0110\" : [\"SQ\", \"BasicGrayscaleImageSequence\"],\n \"0111\" : [\"SQ\", \"BasicColorImageSequence\"],\n \"0130\" : [\"SQ\", \"ReferencedImageOverlayBoxSequence\"],\n \"0140\" : [\"SQ\", \"ReferencedVOILUTBoxSequence\"]\n },\n \"2030\" : {\n \"0010\" : [\"US\", \"AnnotationPosition\"],\n \"0020\" : [\"LO\", \"TextString\"]\n },\n \"2040\" : {\n \"0010\" : [\"SQ\", \"ReferencedOverlayPlaneSequence\"],\n \"0011\" : [\"US\", \"ReferencedOverlayPlaneGroups\"],\n \"0020\" : [\"SQ\", \"OverlayPixelDataSequence\"],\n \"0060\" : [\"CS\", \"OverlayMagnificationType\"],\n \"0070\" : [\"CS\", \"OverlaySmoothingType\"],\n \"0072\" : [\"CS\", \"OverlayOrImageMagnification\"],\n \"0074\" : [\"US\", \"MagnifyToNumberOfColumns\"],\n \"0080\" : [\"CS\", \"OverlayForegroundDensity\"],\n \"0082\" : [\"CS\", \"OverlayBackgroundDensity\"],\n \"0090\" : [\"CS\", \"OverlayMode\"],\n \"0100\" : [\"CS\", \"ThresholdDensity\"],\n \"0500\" : [\"SQ\", \"ReferencedImageBoxSequenceRetired\"]\n },\n \"2050\" : {\n \"0010\" : [\"SQ\", \"PresentationLUTSequence\"],\n \"0020\" : [\"CS\", \"PresentationLUTShape\"],\n \"0500\" : [\"SQ\", \"ReferencedPresentationLUTSequence\"]\n },\n \"2100\" : {\n \"0010\" : [\"SH\", \"PrintJobID\"],\n \"0020\" : [\"CS\", \"ExecutionStatus\"],\n \"0030\" : [\"CS\", \"ExecutionStatusInfo\"],\n \"0040\" : [\"DA\", \"CreationDate\"],\n \"0050\" : [\"TM\", \"CreationTime\"],\n \"0070\" : [\"AE\", \"Originator\"],\n \"0140\" : [\"AE\", \"DestinationAE\"],\n \"0160\" : [\"SH\", \"OwnerID\"],\n \"0170\" : [\"IS\", \"NumberOfFilms\"],\n \"0500\" : [\"SQ\", \"ReferencedPrintJobSequencePullStoredPrint\"]\n },\n \"2110\" : {\n \"0010\" : [\"CS\", \"PrinterStatus\"],\n \"0020\" : [\"CS\", \"PrinterStatusInfo\"],\n \"0030\" : [\"LO\", \"PrinterName\"],\n \"0099\" : [\"SH\", \"PrintQueueID\"]\n },\n \"2120\" : {\n \"0010\" : [\"CS\", \"QueueStatus\"],\n \"0050\" : [\"SQ\", \"PrintJobDescriptionSequence\"],\n \"0070\" : [\"SQ\", \"ReferencedPrintJobSequence\"]\n },\n \"2130\" : {\n \"0010\" : [\"SQ\", \"PrintManagementCapabilitiesSequence\"],\n \"0015\" : [\"SQ\", \"PrinterCharacteristicsSequence\"],\n \"0030\" : [\"SQ\", \"FilmBoxContentSequence\"],\n \"0040\" : [\"SQ\", \"ImageBoxContentSequence\"],\n \"0050\" : [\"SQ\", \"AnnotationContentSequence\"],\n \"0060\" : [\"SQ\", \"ImageOverlayBoxContentSequence\"],\n \"0080\" : [\"SQ\", \"PresentationLUTContentSequence\"],\n \"00A0\" : [\"SQ\", \"ProposedStudySequence\"],\n \"00C0\" : [\"SQ\", \"OriginalImageSequence\"]\n },\n \"2200\" : {\n \"0001\" : [\"CS\", \"LabelUsingInformationExtractedFromInstances\"],\n \"0002\" : [\"UT\", \"LabelText\"],\n \"0003\" : [\"CS\", \"LabelStyleSelection\"],\n \"0004\" : [\"LT\", \"MediaDisposition\"],\n \"0005\" : [\"LT\", \"BarcodeValue\"],\n \"0006\" : [\"CS\", \"BarcodeSymbology\"],\n \"0007\" : [\"CS\", \"AllowMediaSplitting\"],\n \"0008\" : [\"CS\", \"IncludeNonDICOMObjects\"],\n \"0009\" : [\"CS\", \"IncludeDisplayApplication\"],\n \"000A\" : [\"CS\", \"PreserveCompositeInstancesAfterMediaCreation\"],\n \"000B\" : [\"US\", \"TotalNumberOfPiecesOfMediaCreated\"],\n \"000C\" : [\"LO\", \"RequestedMediaApplicationProfile\"],\n \"000D\" : [\"SQ\", \"ReferencedStorageMediaSequence\"],\n \"000E\" : [\"AT\", \"FailureAttributes\"],\n \"000F\" : [\"CS\", \"AllowLossyCompression\"],\n \"0020\" : [\"CS\", \"RequestPriority\"]\n },\n \"3002\" : {\n \"0002\" : [\"SH\", \"RTImageLabel\"],\n \"0003\" : [\"LO\", \"RTImageName\"],\n \"0004\" : [\"ST\", \"RTImageDescription\"],\n \"000A\" : [\"CS\", \"ReportedValuesOrigin\"],\n \"000C\" : [\"CS\", \"RTImagePlane\"],\n \"000D\" : [\"DS\", \"XRayImageReceptorTranslation\"],\n \"000E\" : [\"DS\", \"XRayImageReceptorAngle\"],\n \"0010\" : [\"DS\", \"RTImageOrientation\"],\n \"0011\" : [\"DS\", \"ImagePlanePixelSpacing\"],\n \"0012\" : [\"DS\", \"RTImagePosition\"],\n \"0020\" : [\"SH\", \"RadiationMachineName\"],\n \"0022\" : [\"DS\", \"RadiationMachineSAD\"],\n \"0024\" : [\"DS\", \"RadiationMachineSSD\"],\n \"0026\" : [\"DS\", \"RTImageSID\"],\n \"0028\" : [\"DS\", \"SourceToReferenceObjectDistance\"],\n \"0029\" : [\"IS\", \"FractionNumber\"],\n \"0030\" : [\"SQ\", \"ExposureSequence\"],\n \"0032\" : [\"DS\", \"MetersetExposure\"],\n \"0034\" : [\"DS\", \"DiaphragmPosition\"],\n \"0040\" : [\"SQ\", \"FluenceMapSequence\"],\n \"0041\" : [\"CS\", \"FluenceDataSource\"],\n \"0042\" : [\"DS\", \"FluenceDataScale\"],\n \"0050\" : [\"SQ\", \"PrimaryFluenceModeSequence\"],\n \"0051\" : [\"CS\", \"FluenceMode\"],\n \"0052\" : [\"SH\", \"FluenceModeID\"]\n },\n \"3004\" : {\n \"0001\" : [\"CS\", \"DVHType\"],\n \"0002\" : [\"CS\", \"DoseUnits\"],\n \"0004\" : [\"CS\", \"DoseType\"],\n \"0006\" : [\"LO\", \"DoseComment\"],\n \"0008\" : [\"DS\", \"NormalizationPoint\"],\n \"000A\" : [\"CS\", \"DoseSummationType\"],\n \"000C\" : [\"DS\", \"GridFrameOffsetVector\"],\n \"000E\" : [\"DS\", \"DoseGridScaling\"],\n \"0010\" : [\"SQ\", \"RTDoseROISequence\"],\n \"0012\" : [\"DS\", \"DoseValue\"],\n \"0014\" : [\"CS\", \"TissueHeterogeneityCorrection\"],\n \"0040\" : [\"DS\", \"DVHNormalizationPoint\"],\n \"0042\" : [\"DS\", \"DVHNormalizationDoseValue\"],\n \"0050\" : [\"SQ\", \"DVHSequence\"],\n \"0052\" : [\"DS\", \"DVHDoseScaling\"],\n \"0054\" : [\"CS\", \"DVHVolumeUnits\"],\n \"0056\" : [\"IS\", \"DVHNumberOfBins\"],\n \"0058\" : [\"DS\", \"DVHData\"],\n \"0060\" : [\"SQ\", \"DVHReferencedROISequence\"],\n \"0062\" : [\"CS\", \"DVHROIContributionType\"],\n \"0070\" : [\"DS\", \"DVHMinimumDose\"],\n \"0072\" : [\"DS\", \"DVHMaximumDose\"],\n \"0074\" : [\"DS\", \"DVHMeanDose\"]\n },\n \"3006\" : {\n \"0002\" : [\"SH\", \"StructureSetLabel\"],\n \"0004\" : [\"LO\", \"StructureSetName\"],\n \"0006\" : [\"ST\", \"StructureSetDescription\"],\n \"0008\" : [\"DA\", \"StructureSetDate\"],\n \"0009\" : [\"TM\", \"StructureSetTime\"],\n \"0010\" : [\"SQ\", \"ReferencedFrameOfReferenceSequence\"],\n \"0012\" : [\"SQ\", \"RTReferencedStudySequence\"],\n \"0014\" : [\"SQ\", \"RTReferencedSeriesSequence\"],\n \"0016\" : [\"SQ\", \"ContourImageSequence\"],\n \"0020\" : [\"SQ\", \"StructureSetROISequence\"],\n \"0022\" : [\"IS\", \"ROINumber\"],\n \"0024\" : [\"UI\", \"ReferencedFrameOfReferenceUID\"],\n \"0026\" : [\"LO\", \"ROIName\"],\n \"0028\" : [\"ST\", \"ROIDescription\"],\n \"002A\" : [\"IS\", \"ROIDisplayColor\"],\n \"002C\" : [\"DS\", \"ROIVolume\"],\n \"0030\" : [\"SQ\", \"RTRelatedROISequence\"],\n \"0033\" : [\"CS\", \"RTROIRelationship\"],\n \"0036\" : [\"CS\", \"ROIGenerationAlgorithm\"],\n \"0038\" : [\"LO\", \"ROIGenerationDescription\"],\n \"0039\" : [\"SQ\", \"ROIContourSequence\"],\n \"0040\" : [\"SQ\", \"ContourSequence\"],\n \"0042\" : [\"CS\", \"ContourGeometricType\"],\n \"0044\" : [\"DS\", \"ContourSlabThickness\"],\n \"0045\" : [\"DS\", \"ContourOffsetVector\"],\n \"0046\" : [\"IS\", \"NumberOfContourPoints\"],\n \"0048\" : [\"IS\", \"ContourNumber\"],\n \"0049\" : [\"IS\", \"AttachedContours\"],\n \"0050\" : [\"DS\", \"ContourData\"],\n \"0080\" : [\"SQ\", \"RTROIObservationsSequence\"],\n \"0082\" : [\"IS\", \"ObservationNumber\"],\n \"0084\" : [\"IS\", \"ReferencedROINumber\"],\n \"0085\" : [\"SH\", \"ROIObservationLabel\"],\n \"0086\" : [\"SQ\", \"RTROIIdentificationCodeSequence\"],\n \"0088\" : [\"ST\", \"ROIObservationDescription\"],\n \"00A0\" : [\"SQ\", \"RelatedRTROIObservationsSequence\"],\n \"00A4\" : [\"CS\", \"RTROIInterpretedType\"],\n \"00A6\" : [\"PN\", \"ROIInterpreter\"],\n \"00B0\" : [\"SQ\", \"ROIPhysicalPropertiesSequence\"],\n \"00B2\" : [\"CS\", \"ROIPhysicalProperty\"],\n \"00B4\" : [\"DS\", \"ROIPhysicalPropertyValue\"],\n \"00B6\" : [\"SQ\", \"ROIElementalCompositionSequence\"],\n \"00B7\" : [\"US\", \"ROIElementalCompositionAtomicNumber\"],\n \"00B8\" : [\"FL\", \"ROIElementalCompositionAtomicMassFraction\"],\n \"00C0\" : [\"SQ\", \"FrameOfReferenceRelationshipSequence\"],\n \"00C2\" : [\"UI\", \"RelatedFrameOfReferenceUID\"],\n \"00C4\" : [\"CS\", \"FrameOfReferenceTransformationType\"],\n \"00C6\" : [\"DS\", \"FrameOfReferenceTransformationMatrix\"],\n \"00C8\" : [\"LO\", \"FrameOfReferenceTransformationComment\"]\n },\n \"3008\" : {\n \"0010\" : [\"SQ\", \"MeasuredDoseReferenceSequence\"],\n \"0012\" : [\"ST\", \"MeasuredDoseDescription\"],\n \"0014\" : [\"CS\", \"MeasuredDoseType\"],\n \"0016\" : [\"DS\", \"MeasuredDoseValue\"],\n \"0020\" : [\"SQ\", \"TreatmentSessionBeamSequence\"],\n \"0021\" : [\"SQ\", \"TreatmentSessionIonBeamSequence\"],\n \"0022\" : [\"IS\", \"CurrentFractionNumber\"],\n \"0024\" : [\"DA\", \"TreatmentControlPointDate\"],\n \"0025\" : [\"TM\", \"TreatmentControlPointTime\"],\n \"002A\" : [\"CS\", \"TreatmentTerminationStatus\"],\n \"002B\" : [\"SH\", \"TreatmentTerminationCode\"],\n \"002C\" : [\"CS\", \"TreatmentVerificationStatus\"],\n \"0030\" : [\"SQ\", \"ReferencedTreatmentRecordSequence\"],\n \"0032\" : [\"DS\", \"SpecifiedPrimaryMeterset\"],\n \"0033\" : [\"DS\", \"SpecifiedSecondaryMeterset\"],\n \"0036\" : [\"DS\", \"DeliveredPrimaryMeterset\"],\n \"0037\" : [\"DS\", \"DeliveredSecondaryMeterset\"],\n \"003A\" : [\"DS\", \"SpecifiedTreatmentTime\"],\n \"003B\" : [\"DS\", \"DeliveredTreatmentTime\"],\n \"0040\" : [\"SQ\", \"ControlPointDeliverySequence\"],\n \"0041\" : [\"SQ\", \"IonControlPointDeliverySequence\"],\n \"0042\" : [\"DS\", \"SpecifiedMeterset\"],\n \"0044\" : [\"DS\", \"DeliveredMeterset\"],\n \"0045\" : [\"FL\", \"MetersetRateSet\"],\n \"0046\" : [\"FL\", \"MetersetRateDelivered\"],\n \"0047\" : [\"FL\", \"ScanSpotMetersetsDelivered\"],\n \"0048\" : [\"DS\", \"DoseRateDelivered\"],\n \"0050\" : [\"SQ\", \"TreatmentSummaryCalculatedDoseReferenceSequence\"],\n \"0052\" : [\"DS\", \"CumulativeDoseToDoseReference\"],\n \"0054\" : [\"DA\", \"FirstTreatmentDate\"],\n \"0056\" : [\"DA\", \"MostRecentTreatmentDate\"],\n \"005A\" : [\"IS\", \"NumberOfFractionsDelivered\"],\n \"0060\" : [\"SQ\", \"OverrideSequence\"],\n \"0061\" : [\"AT\", \"ParameterSequencePointer\"],\n \"0062\" : [\"AT\", \"OverrideParameterPointer\"],\n \"0063\" : [\"IS\", \"ParameterItemIndex\"],\n \"0064\" : [\"IS\", \"MeasuredDoseReferenceNumber\"],\n \"0065\" : [\"AT\", \"ParameterPointer\"],\n \"0066\" : [\"ST\", \"OverrideReason\"],\n \"0068\" : [\"SQ\", \"CorrectedParameterSequence\"],\n \"006A\" : [\"FL\", \"CorrectionValue\"],\n \"0070\" : [\"SQ\", \"CalculatedDoseReferenceSequence\"],\n \"0072\" : [\"IS\", \"CalculatedDoseReferenceNumber\"],\n \"0074\" : [\"ST\", \"CalculatedDoseReferenceDescription\"],\n \"0076\" : [\"DS\", \"CalculatedDoseReferenceDoseValue\"],\n \"0078\" : [\"DS\", \"StartMeterset\"],\n \"007A\" : [\"DS\", \"EndMeterset\"],\n \"0080\" : [\"SQ\", \"ReferencedMeasuredDoseReferenceSequence\"],\n \"0082\" : [\"IS\", \"ReferencedMeasuredDoseReferenceNumber\"],\n \"0090\" : [\"SQ\", \"ReferencedCalculatedDoseReferenceSequence\"],\n \"0092\" : [\"IS\", \"ReferencedCalculatedDoseReferenceNumber\"],\n \"00A0\" : [\"SQ\", \"BeamLimitingDeviceLeafPairsSequence\"],\n \"00B0\" : [\"SQ\", \"RecordedWedgeSequence\"],\n \"00C0\" : [\"SQ\", \"RecordedCompensatorSequence\"],\n \"00D0\" : [\"SQ\", \"RecordedBlockSequence\"],\n \"00E0\" : [\"SQ\", \"TreatmentSummaryMeasuredDoseReferenceSequence\"],\n \"00F0\" : [\"SQ\", \"RecordedSnoutSequence\"],\n \"00F2\" : [\"SQ\", \"RecordedRangeShifterSequence\"],\n \"00F4\" : [\"SQ\", \"RecordedLateralSpreadingDeviceSequence\"],\n \"00F6\" : [\"SQ\", \"RecordedRangeModulatorSequence\"],\n \"0100\" : [\"SQ\", \"RecordedSourceSequence\"],\n \"0105\" : [\"LO\", \"SourceSerialNumber\"],\n \"0110\" : [\"SQ\", \"TreatmentSessionApplicationSetupSequence\"],\n \"0116\" : [\"CS\", \"ApplicationSetupCheck\"],\n \"0120\" : [\"SQ\", \"RecordedBrachyAccessoryDeviceSequence\"],\n \"0122\" : [\"IS\", \"ReferencedBrachyAccessoryDeviceNumber\"],\n \"0130\" : [\"SQ\", \"RecordedChannelSequence\"],\n \"0132\" : [\"DS\", \"SpecifiedChannelTotalTime\"],\n \"0134\" : [\"DS\", \"DeliveredChannelTotalTime\"],\n \"0136\" : [\"IS\", \"SpecifiedNumberOfPulses\"],\n \"0138\" : [\"IS\", \"DeliveredNumberOfPulses\"],\n \"013A\" : [\"DS\", \"SpecifiedPulseRepetitionInterval\"],\n \"013C\" : [\"DS\", \"DeliveredPulseRepetitionInterval\"],\n \"0140\" : [\"SQ\", \"RecordedSourceApplicatorSequence\"],\n \"0142\" : [\"IS\", \"ReferencedSourceApplicatorNumber\"],\n \"0150\" : [\"SQ\", \"RecordedChannelShieldSequence\"],\n \"0152\" : [\"IS\", \"ReferencedChannelShieldNumber\"],\n \"0160\" : [\"SQ\", \"BrachyControlPointDeliveredSequence\"],\n \"0162\" : [\"DA\", \"SafePositionExitDate\"],\n \"0164\" : [\"TM\", \"SafePositionExitTime\"],\n \"0166\" : [\"DA\", \"SafePositionReturnDate\"],\n \"0168\" : [\"TM\", \"SafePositionReturnTime\"],\n \"0200\" : [\"CS\", \"CurrentTreatmentStatus\"],\n \"0202\" : [\"ST\", \"TreatmentStatusComment\"],\n \"0220\" : [\"SQ\", \"FractionGroupSummarySequence\"],\n \"0223\" : [\"IS\", \"ReferencedFractionNumber\"],\n \"0224\" : [\"CS\", \"FractionGroupType\"],\n \"0230\" : [\"CS\", \"BeamStopperPosition\"],\n \"0240\" : [\"SQ\", \"FractionStatusSummarySequence\"],\n \"0250\" : [\"DA\", \"TreatmentDate\"],\n \"0251\" : [\"TM\", \"TreatmentTime\"]\n },\n \"300A\" : {\n \"0002\" : [\"SH\", \"RTPlanLabel\"],\n \"0003\" : [\"LO\", \"RTPlanName\"],\n \"0004\" : [\"ST\", \"RTPlanDescription\"],\n \"0006\" : [\"DA\", \"RTPlanDate\"],\n \"0007\" : [\"TM\", \"RTPlanTime\"],\n \"0009\" : [\"LO\", \"TreatmentProtocols\"],\n \"000A\" : [\"CS\", \"PlanIntent\"],\n \"000B\" : [\"LO\", \"TreatmentSites\"],\n \"000C\" : [\"CS\", \"RTPlanGeometry\"],\n \"000E\" : [\"ST\", \"PrescriptionDescription\"],\n \"0010\" : [\"SQ\", \"DoseReferenceSequence\"],\n \"0012\" : [\"IS\", \"DoseReferenceNumber\"],\n \"0013\" : [\"UI\", \"DoseReferenceUID\"],\n \"0014\" : [\"CS\", \"DoseReferenceStructureType\"],\n \"0015\" : [\"CS\", \"NominalBeamEnergyUnit\"],\n \"0016\" : [\"LO\", \"DoseReferenceDescription\"],\n \"0018\" : [\"DS\", \"DoseReferencePointCoordinates\"],\n \"001A\" : [\"DS\", \"NominalPriorDose\"],\n \"0020\" : [\"CS\", \"DoseReferenceType\"],\n \"0021\" : [\"DS\", \"ConstraintWeight\"],\n \"0022\" : [\"DS\", \"DeliveryWarningDose\"],\n \"0023\" : [\"DS\", \"DeliveryMaximumDose\"],\n \"0025\" : [\"DS\", \"TargetMinimumDose\"],\n \"0026\" : [\"DS\", \"TargetPrescriptionDose\"],\n \"0027\" : [\"DS\", \"TargetMaximumDose\"],\n \"0028\" : [\"DS\", \"TargetUnderdoseVolumeFraction\"],\n \"002A\" : [\"DS\", \"OrganAtRiskFullVolumeDose\"],\n \"002B\" : [\"DS\", \"OrganAtRiskLimitDose\"],\n \"002C\" : [\"DS\", \"OrganAtRiskMaximumDose\"],\n \"002D\" : [\"DS\", \"OrganAtRiskOverdoseVolumeFraction\"],\n \"0040\" : [\"SQ\", \"ToleranceTableSequence\"],\n \"0042\" : [\"IS\", \"ToleranceTableNumber\"],\n \"0043\" : [\"SH\", \"ToleranceTableLabel\"],\n \"0044\" : [\"DS\", \"GantryAngleTolerance\"],\n \"0046\" : [\"DS\", \"BeamLimitingDeviceAngleTolerance\"],\n \"0048\" : [\"SQ\", \"BeamLimitingDeviceToleranceSequence\"],\n \"004A\" : [\"DS\", \"BeamLimitingDevicePositionTolerance\"],\n \"004B\" : [\"FL\", \"SnoutPositionTolerance\"],\n \"004C\" : [\"DS\", \"PatientSupportAngleTolerance\"],\n \"004E\" : [\"DS\", \"TableTopEccentricAngleTolerance\"],\n \"004F\" : [\"FL\", \"TableTopPitchAngleTolerance\"],\n \"0050\" : [\"FL\", \"TableTopRollAngleTolerance\"],\n \"0051\" : [\"DS\", \"TableTopVerticalPositionTolerance\"],\n \"0052\" : [\"DS\", \"TableTopLongitudinalPositionTolerance\"],\n \"0053\" : [\"DS\", \"TableTopLateralPositionTolerance\"],\n \"0055\" : [\"CS\", \"RTPlanRelationship\"],\n \"0070\" : [\"SQ\", \"FractionGroupSequence\"],\n \"0071\" : [\"IS\", \"FractionGroupNumber\"],\n \"0072\" : [\"LO\", \"FractionGroupDescription\"],\n \"0078\" : [\"IS\", \"NumberOfFractionsPlanned\"],\n \"0079\" : [\"IS\", \"NumberOfFractionPatternDigitsPerDay\"],\n \"007A\" : [\"IS\", \"RepeatFractionCycleLength\"],\n \"007B\" : [\"LT\", \"FractionPattern\"],\n \"0080\" : [\"IS\", \"NumberOfBeams\"],\n \"0082\" : [\"DS\", \"BeamDoseSpecificationPoint\"],\n \"0084\" : [\"DS\", \"BeamDose\"],\n \"0086\" : [\"DS\", \"BeamMeterset\"],\n \"0088\" : [\"FL\", \"BeamDosePointDepth\"],\n \"0089\" : [\"FL\", \"BeamDosePointEquivalentDepth\"],\n \"008A\" : [\"FL\", \"BeamDosePointSSD\"],\n \"00A0\" : [\"IS\", \"NumberOfBrachyApplicationSetups\"],\n \"00A2\" : [\"DS\", \"BrachyApplicationSetupDoseSpecificationPoint\"],\n \"00A4\" : [\"DS\", \"BrachyApplicationSetupDose\"],\n \"00B0\" : [\"SQ\", \"BeamSequence\"],\n \"00B2\" : [\"SH\", \"TreatmentMachineName\"],\n \"00B3\" : [\"CS\", \"PrimaryDosimeterUnit\"],\n \"00B4\" : [\"DS\", \"SourceAxisDistance\"],\n \"00B6\" : [\"SQ\", \"BeamLimitingDeviceSequence\"],\n \"00B8\" : [\"CS\", \"RTBeamLimitingDeviceType\"],\n \"00BA\" : [\"DS\", \"SourceToBeamLimitingDeviceDistance\"],\n \"00BB\" : [\"FL\", \"IsocenterToBeamLimitingDeviceDistance\"],\n \"00BC\" : [\"IS\", \"NumberOfLeafJawPairs\"],\n \"00BE\" : [\"DS\", \"LeafPositionBoundaries\"],\n \"00C0\" : [\"IS\", \"BeamNumber\"],\n \"00C2\" : [\"LO\", \"BeamName\"],\n \"00C3\" : [\"ST\", \"BeamDescription\"],\n \"00C4\" : [\"CS\", \"BeamType\"],\n \"00C6\" : [\"CS\", \"RadiationType\"],\n \"00C7\" : [\"CS\", \"HighDoseTechniqueType\"],\n \"00C8\" : [\"IS\", \"ReferenceImageNumber\"],\n \"00CA\" : [\"SQ\", \"PlannedVerificationImageSequence\"],\n \"00CC\" : [\"LO\", \"ImagingDeviceSpecificAcquisitionParameters\"],\n \"00CE\" : [\"CS\", \"TreatmentDeliveryType\"],\n \"00D0\" : [\"IS\", \"NumberOfWedges\"],\n \"00D1\" : [\"SQ\", \"WedgeSequence\"],\n \"00D2\" : [\"IS\", \"WedgeNumber\"],\n \"00D3\" : [\"CS\", \"WedgeType\"],\n \"00D4\" : [\"SH\", \"WedgeID\"],\n \"00D5\" : [\"IS\", \"WedgeAngle\"],\n \"00D6\" : [\"DS\", \"WedgeFactor\"],\n \"00D7\" : [\"FL\", \"TotalWedgeTrayWaterEquivalentThickness\"],\n \"00D8\" : [\"DS\", \"WedgeOrientation\"],\n \"00D9\" : [\"FL\", \"IsocenterToWedgeTrayDistance\"],\n \"00DA\" : [\"DS\", \"SourceToWedgeTrayDistance\"],\n \"00DB\" : [\"FL\", \"WedgeThinEdgePosition\"],\n \"00DC\" : [\"SH\", \"BolusID\"],\n \"00DD\" : [\"ST\", \"BolusDescription\"],\n \"00E0\" : [\"IS\", \"NumberOfCompensators\"],\n \"00E1\" : [\"SH\", \"MaterialID\"],\n \"00E2\" : [\"DS\", \"TotalCompensatorTrayFactor\"],\n \"00E3\" : [\"SQ\", \"CompensatorSequence\"],\n \"00E4\" : [\"IS\", \"CompensatorNumber\"],\n \"00E5\" : [\"SH\", \"CompensatorID\"],\n \"00E6\" : [\"DS\", \"SourceToCompensatorTrayDistance\"],\n \"00E7\" : [\"IS\", \"CompensatorRows\"],\n \"00E8\" : [\"IS\", \"CompensatorColumns\"],\n \"00E9\" : [\"DS\", \"CompensatorPixelSpacing\"],\n \"00EA\" : [\"DS\", \"CompensatorPosition\"],\n \"00EB\" : [\"DS\", \"CompensatorTransmissionData\"],\n \"00EC\" : [\"DS\", \"CompensatorThicknessData\"],\n \"00ED\" : [\"IS\", \"NumberOfBoli\"],\n \"00EE\" : [\"CS\", \"CompensatorType\"],\n \"00F0\" : [\"IS\", \"NumberOfBlocks\"],\n \"00F2\" : [\"DS\", \"TotalBlockTrayFactor\"],\n \"00F3\" : [\"FL\", \"TotalBlockTrayWaterEquivalentThickness\"],\n \"00F4\" : [\"SQ\", \"BlockSequence\"],\n \"00F5\" : [\"SH\", \"BlockTrayID\"],\n \"00F6\" : [\"DS\", \"SourceToBlockTrayDistance\"],\n \"00F7\" : [\"FL\", \"IsocenterToBlockTrayDistance\"],\n \"00F8\" : [\"CS\", \"BlockType\"],\n \"00F9\" : [\"LO\", \"AccessoryCode\"],\n \"00FA\" : [\"CS\", \"BlockDivergence\"],\n \"00FB\" : [\"CS\", \"BlockMountingPosition\"],\n \"00FC\" : [\"IS\", \"BlockNumber\"],\n \"00FE\" : [\"LO\", \"BlockName\"],\n \"0100\" : [\"DS\", \"BlockThickness\"],\n \"0102\" : [\"DS\", \"BlockTransmission\"],\n \"0104\" : [\"IS\", \"BlockNumberOfPoints\"],\n \"0106\" : [\"DS\", \"BlockData\"],\n \"0107\" : [\"SQ\", \"ApplicatorSequence\"],\n \"0108\" : [\"SH\", \"ApplicatorID\"],\n \"0109\" : [\"CS\", \"ApplicatorType\"],\n \"010A\" : [\"LO\", \"ApplicatorDescription\"],\n \"010C\" : [\"DS\", \"CumulativeDoseReferenceCoefficient\"],\n \"010E\" : [\"DS\", \"FinalCumulativeMetersetWeight\"],\n \"0110\" : [\"IS\", \"NumberOfControlPoints\"],\n \"0111\" : [\"SQ\", \"ControlPointSequence\"],\n \"0112\" : [\"IS\", \"ControlPointIndex\"],\n \"0114\" : [\"DS\", \"NominalBeamEnergy\"],\n \"0115\" : [\"DS\", \"DoseRateSet\"],\n \"0116\" : [\"SQ\", \"WedgePositionSequence\"],\n \"0118\" : [\"CS\", \"WedgePosition\"],\n \"011A\" : [\"SQ\", \"BeamLimitingDevicePositionSequence\"],\n \"011C\" : [\"DS\", \"LeafJawPositions\"],\n \"011E\" : [\"DS\", \"GantryAngle\"],\n \"011F\" : [\"CS\", \"GantryRotationDirection\"],\n \"0120\" : [\"DS\", \"BeamLimitingDeviceAngle\"],\n \"0121\" : [\"CS\", \"BeamLimitingDeviceRotationDirection\"],\n \"0122\" : [\"DS\", \"PatientSupportAngle\"],\n \"0123\" : [\"CS\", \"PatientSupportRotationDirection\"],\n \"0124\" : [\"DS\", \"TableTopEccentricAxisDistance\"],\n \"0125\" : [\"DS\", \"TableTopEccentricAngle\"],\n \"0126\" : [\"CS\", \"TableTopEccentricRotationDirection\"],\n \"0128\" : [\"DS\", \"TableTopVerticalPosition\"],\n \"0129\" : [\"DS\", \"TableTopLongitudinalPosition\"],\n \"012A\" : [\"DS\", \"TableTopLateralPosition\"],\n \"012C\" : [\"DS\", \"IsocenterPosition\"],\n \"012E\" : [\"DS\", \"SurfaceEntryPoint\"],\n \"0130\" : [\"DS\", \"SourceToSurfaceDistance\"],\n \"0134\" : [\"DS\", \"CumulativeMetersetWeight\"],\n \"0140\" : [\"FL\", \"TableTopPitchAngle\"],\n \"0142\" : [\"CS\", \"TableTopPitchRotationDirection\"],\n \"0144\" : [\"FL\", \"TableTopRollAngle\"],\n \"0146\" : [\"CS\", \"TableTopRollRotationDirection\"],\n \"0148\" : [\"FL\", \"HeadFixationAngle\"],\n \"014A\" : [\"FL\", \"GantryPitchAngle\"],\n \"014C\" : [\"CS\", \"GantryPitchRotationDirection\"],\n \"014E\" : [\"FL\", \"GantryPitchAngleTolerance\"],\n \"0180\" : [\"SQ\", \"PatientSetupSequence\"],\n \"0182\" : [\"IS\", \"PatientSetupNumber\"],\n \"0183\" : [\"LO\", \"PatientSetupLabel\"],\n \"0184\" : [\"LO\", \"PatientAdditionalPosition\"],\n \"0190\" : [\"SQ\", \"FixationDeviceSequence\"],\n \"0192\" : [\"CS\", \"FixationDeviceType\"],\n \"0194\" : [\"SH\", \"FixationDeviceLabel\"],\n \"0196\" : [\"ST\", \"FixationDeviceDescription\"],\n \"0198\" : [\"SH\", \"FixationDevicePosition\"],\n \"0199\" : [\"FL\", \"FixationDevicePitchAngle\"],\n \"019A\" : [\"FL\", \"FixationDeviceRollAngle\"],\n \"01A0\" : [\"SQ\", \"ShieldingDeviceSequence\"],\n \"01A2\" : [\"CS\", \"ShieldingDeviceType\"],\n \"01A4\" : [\"SH\", \"ShieldingDeviceLabel\"],\n \"01A6\" : [\"ST\", \"ShieldingDeviceDescription\"],\n \"01A8\" : [\"SH\", \"ShieldingDevicePosition\"],\n \"01B0\" : [\"CS\", \"SetupTechnique\"],\n \"01B2\" : [\"ST\", \"SetupTechniqueDescription\"],\n \"01B4\" : [\"SQ\", \"SetupDeviceSequence\"],\n \"01B6\" : [\"CS\", \"SetupDeviceType\"],\n \"01B8\" : [\"SH\", \"SetupDeviceLabel\"],\n \"01BA\" : [\"ST\", \"SetupDeviceDescription\"],\n \"01BC\" : [\"DS\", \"SetupDeviceParameter\"],\n \"01D0\" : [\"ST\", \"SetupReferenceDescription\"],\n \"01D2\" : [\"DS\", \"TableTopVerticalSetupDisplacement\"],\n \"01D4\" : [\"DS\", \"TableTopLongitudinalSetupDisplacement\"],\n \"01D6\" : [\"DS\", \"TableTopLateralSetupDisplacement\"],\n \"0200\" : [\"CS\", \"BrachyTreatmentTechnique\"],\n \"0202\" : [\"CS\", \"BrachyTreatmentType\"],\n \"0206\" : [\"SQ\", \"TreatmentMachineSequence\"],\n \"0210\" : [\"SQ\", \"SourceSequence\"],\n \"0212\" : [\"IS\", \"SourceNumber\"],\n \"0214\" : [\"CS\", \"SourceType\"],\n \"0216\" : [\"LO\", \"SourceManufacturer\"],\n \"0218\" : [\"DS\", \"ActiveSourceDiameter\"],\n \"021A\" : [\"DS\", \"ActiveSourceLength\"],\n \"0222\" : [\"DS\", \"SourceEncapsulationNominalThickness\"],\n \"0224\" : [\"DS\", \"SourceEncapsulationNominalTransmission\"],\n \"0226\" : [\"LO\", \"SourceIsotopeName\"],\n \"0228\" : [\"DS\", \"SourceIsotopeHalfLife\"],\n \"0229\" : [\"CS\", \"SourceStrengthUnits\"],\n \"022A\" : [\"DS\", \"ReferenceAirKermaRate\"],\n \"022B\" : [\"DS\", \"SourceStrength\"],\n \"022C\" : [\"DA\", \"SourceStrengthReferenceDate\"],\n \"022E\" : [\"TM\", \"SourceStrengthReferenceTime\"],\n \"0230\" : [\"SQ\", \"ApplicationSetupSequence\"],\n \"0232\" : [\"CS\", \"ApplicationSetupType\"],\n \"0234\" : [\"IS\", \"ApplicationSetupNumber\"],\n \"0236\" : [\"LO\", \"ApplicationSetupName\"],\n \"0238\" : [\"LO\", \"ApplicationSetupManufacturer\"],\n \"0240\" : [\"IS\", \"TemplateNumber\"],\n \"0242\" : [\"SH\", \"TemplateType\"],\n \"0244\" : [\"LO\", \"TemplateName\"],\n \"0250\" : [\"DS\", \"TotalReferenceAirKerma\"],\n \"0260\" : [\"SQ\", \"BrachyAccessoryDeviceSequence\"],\n \"0262\" : [\"IS\", \"BrachyAccessoryDeviceNumber\"],\n \"0263\" : [\"SH\", \"BrachyAccessoryDeviceID\"],\n \"0264\" : [\"CS\", \"BrachyAccessoryDeviceType\"],\n \"0266\" : [\"LO\", \"BrachyAccessoryDeviceName\"],\n \"026A\" : [\"DS\", \"BrachyAccessoryDeviceNominalThickness\"],\n \"026C\" : [\"DS\", \"BrachyAccessoryDeviceNominalTransmission\"],\n \"0280\" : [\"SQ\", \"ChannelSequence\"],\n \"0282\" : [\"IS\", \"ChannelNumber\"],\n \"0284\" : [\"DS\", \"ChannelLength\"],\n \"0286\" : [\"DS\", \"ChannelTotalTime\"],\n \"0288\" : [\"CS\", \"SourceMovementType\"],\n \"028A\" : [\"IS\", \"NumberOfPulses\"],\n \"028C\" : [\"DS\", \"PulseRepetitionInterval\"],\n \"0290\" : [\"IS\", \"SourceApplicatorNumber\"],\n \"0291\" : [\"SH\", \"SourceApplicatorID\"],\n \"0292\" : [\"CS\", \"SourceApplicatorType\"],\n \"0294\" : [\"LO\", \"SourceApplicatorName\"],\n \"0296\" : [\"DS\", \"SourceApplicatorLength\"],\n \"0298\" : [\"LO\", \"SourceApplicatorManufacturer\"],\n \"029C\" : [\"DS\", \"SourceApplicatorWallNominalThickness\"],\n \"029E\" : [\"DS\", \"SourceApplicatorWallNominalTransmission\"],\n \"02A0\" : [\"DS\", \"SourceApplicatorStepSize\"],\n \"02A2\" : [\"IS\", \"TransferTubeNumber\"],\n \"02A4\" : [\"DS\", \"TransferTubeLength\"],\n \"02B0\" : [\"SQ\", \"ChannelShieldSequence\"],\n \"02B2\" : [\"IS\", \"ChannelShieldNumber\"],\n \"02B3\" : [\"SH\", \"ChannelShieldID\"],\n \"02B4\" : [\"LO\", \"ChannelShieldName\"],\n \"02B8\" : [\"DS\", \"ChannelShieldNominalThickness\"],\n \"02BA\" : [\"DS\", \"ChannelShieldNominalTransmission\"],\n \"02C8\" : [\"DS\", \"FinalCumulativeTimeWeight\"],\n \"02D0\" : [\"SQ\", \"BrachyControlPointSequence\"],\n \"02D2\" : [\"DS\", \"ControlPointRelativePosition\"],\n \"02D4\" : [\"DS\", \"ControlPoint3DPosition\"],\n \"02D6\" : [\"DS\", \"CumulativeTimeWeight\"],\n \"02E0\" : [\"CS\", \"CompensatorDivergence\"],\n \"02E1\" : [\"CS\", \"CompensatorMountingPosition\"],\n \"02E2\" : [\"DS\", \"SourceToCompensatorDistance\"],\n \"02E3\" : [\"FL\", \"TotalCompensatorTrayWaterEquivalentThickness\"],\n \"02E4\" : [\"FL\", \"IsocenterToCompensatorTrayDistance\"],\n \"02E5\" : [\"FL\", \"CompensatorColumnOffset\"],\n \"02E6\" : [\"FL\", \"IsocenterToCompensatorDistances\"],\n \"02E7\" : [\"FL\", \"CompensatorRelativeStoppingPowerRatio\"],\n \"02E8\" : [\"FL\", \"CompensatorMillingToolDiameter\"],\n \"02EA\" : [\"SQ\", \"IonRangeCompensatorSequence\"],\n \"02EB\" : [\"LT\", \"CompensatorDescription\"],\n \"0302\" : [\"IS\", \"RadiationMassNumber\"],\n \"0304\" : [\"IS\", \"RadiationAtomicNumber\"],\n \"0306\" : [\"SS\", \"RadiationChargeState\"],\n \"0308\" : [\"CS\", \"ScanMode\"],\n \"030A\" : [\"FL\", \"VirtualSourceAxisDistances\"],\n \"030C\" : [\"SQ\", \"SnoutSequence\"],\n \"030D\" : [\"FL\", \"SnoutPosition\"],\n \"030F\" : [\"SH\", \"SnoutID\"],\n \"0312\" : [\"IS\", \"NumberOfRangeShifters\"],\n \"0314\" : [\"SQ\", \"RangeShifterSequence\"],\n \"0316\" : [\"IS\", \"RangeShifterNumber\"],\n \"0318\" : [\"SH\", \"RangeShifterID\"],\n \"0320\" : [\"CS\", \"RangeShifterType\"],\n \"0322\" : [\"LO\", \"RangeShifterDescription\"],\n \"0330\" : [\"IS\", \"NumberOfLateralSpreadingDevices\"],\n \"0332\" : [\"SQ\", \"LateralSpreadingDeviceSequence\"],\n \"0334\" : [\"IS\", \"LateralSpreadingDeviceNumber\"],\n \"0336\" : [\"SH\", \"LateralSpreadingDeviceID\"],\n \"0338\" : [\"CS\", \"LateralSpreadingDeviceType\"],\n \"033A\" : [\"LO\", \"LateralSpreadingDeviceDescription\"],\n \"033C\" : [\"FL\", \"LateralSpreadingDeviceWaterEquivalentThickness\"],\n \"0340\" : [\"IS\", \"NumberOfRangeModulators\"],\n \"0342\" : [\"SQ\", \"RangeModulatorSequence\"],\n \"0344\" : [\"IS\", \"RangeModulatorNumber\"],\n \"0346\" : [\"SH\", \"RangeModulatorID\"],\n \"0348\" : [\"CS\", \"RangeModulatorType\"],\n \"034A\" : [\"LO\", \"RangeModulatorDescription\"],\n \"034C\" : [\"SH\", \"BeamCurrentModulationID\"],\n \"0350\" : [\"CS\", \"PatientSupportType\"],\n \"0352\" : [\"SH\", \"PatientSupportID\"],\n \"0354\" : [\"LO\", \"PatientSupportAccessoryCode\"],\n \"0356\" : [\"FL\", \"FixationLightAzimuthalAngle\"],\n \"0358\" : [\"FL\", \"FixationLightPolarAngle\"],\n \"035A\" : [\"FL\", \"MetersetRate\"],\n \"0360\" : [\"SQ\", \"RangeShifterSettingsSequence\"],\n \"0362\" : [\"LO\", \"RangeShifterSetting\"],\n \"0364\" : [\"FL\", \"IsocenterToRangeShifterDistance\"],\n \"0366\" : [\"FL\", \"RangeShifterWaterEquivalentThickness\"],\n \"0370\" : [\"SQ\", \"LateralSpreadingDeviceSettingsSequence\"],\n \"0372\" : [\"LO\", \"LateralSpreadingDeviceSetting\"],\n \"0374\" : [\"FL\", \"IsocenterToLateralSpreadingDeviceDistance\"],\n \"0380\" : [\"SQ\", \"RangeModulatorSettingsSequence\"],\n \"0382\" : [\"FL\", \"RangeModulatorGatingStartValue\"],\n \"0384\" : [\"FL\", \"RangeModulatorGatingStopValue\"],\n \"0386\" : [\"FL\", \"RangeModulatorGatingStartWaterEquivalentThickness\"],\n \"0388\" : [\"FL\", \"RangeModulatorGatingStopWaterEquivalentThickness\"],\n \"038A\" : [\"FL\", \"IsocenterToRangeModulatorDistance\"],\n \"0390\" : [\"SH\", \"ScanSpotTuneID\"],\n \"0392\" : [\"IS\", \"NumberOfScanSpotPositions\"],\n \"0394\" : [\"FL\", \"ScanSpotPositionMap\"],\n \"0396\" : [\"FL\", \"ScanSpotMetersetWeights\"],\n \"0398\" : [\"FL\", \"ScanningSpotSize\"],\n \"039A\" : [\"IS\", \"NumberOfPaintings\"],\n \"03A0\" : [\"SQ\", \"IonToleranceTableSequence\"],\n \"03A2\" : [\"SQ\", \"IonBeamSequence\"],\n \"03A4\" : [\"SQ\", \"IonBeamLimitingDeviceSequence\"],\n \"03A6\" : [\"SQ\", \"IonBlockSequence\"],\n \"03A8\" : [\"SQ\", \"IonControlPointSequence\"],\n \"03AA\" : [\"SQ\", \"IonWedgeSequence\"],\n \"03AC\" : [\"SQ\", \"IonWedgePositionSequence\"],\n \"0401\" : [\"SQ\", \"ReferencedSetupImageSequence\"],\n \"0402\" : [\"ST\", \"SetupImageComment\"],\n \"0410\" : [\"SQ\", \"MotionSynchronizationSequence\"],\n \"0412\" : [\"FL\", \"ControlPointOrientation\"],\n \"0420\" : [\"SQ\", \"GeneralAccessorySequence\"],\n \"0421\" : [\"SH\", \"GeneralAccessoryID\"],\n \"0422\" : [\"ST\", \"GeneralAccessoryDescription\"],\n \"0423\" : [\"CS\", \"GeneralAccessoryType\"],\n \"0424\" : [\"IS\", \"GeneralAccessoryNumber\"],\n \"0431\" : [\"SQ\", \"ApplicatorGeometrySequence\"],\n \"0432\" : [\"CS\", \"ApplicatorApertureShape\"],\n \"0433\" : [\"FL\", \"ApplicatorOpening\"],\n \"0434\" : [\"FL\", \"ApplicatorOpeningX\"],\n \"0435\" : [\"FL\", \"ApplicatorOpeningY\"],\n \"0436\" : [\"FL\", \"SourceToApplicatorMountingPositionDistance\"]\n },\n \"300C\" : {\n \"0002\" : [\"SQ\", \"ReferencedRTPlanSequence\"],\n \"0004\" : [\"SQ\", \"ReferencedBeamSequence\"],\n \"0006\" : [\"IS\", \"ReferencedBeamNumber\"],\n \"0007\" : [\"IS\", \"ReferencedReferenceImageNumber\"],\n \"0008\" : [\"DS\", \"StartCumulativeMetersetWeight\"],\n \"0009\" : [\"DS\", \"EndCumulativeMetersetWeight\"],\n \"000A\" : [\"SQ\", \"ReferencedBrachyApplicationSetupSequence\"],\n \"000C\" : [\"IS\", \"ReferencedBrachyApplicationSetupNumber\"],\n \"000E\" : [\"IS\", \"ReferencedSourceNumber\"],\n \"0020\" : [\"SQ\", \"ReferencedFractionGroupSequence\"],\n \"0022\" : [\"IS\", \"ReferencedFractionGroupNumber\"],\n \"0040\" : [\"SQ\", \"ReferencedVerificationImageSequence\"],\n \"0042\" : [\"SQ\", \"ReferencedReferenceImageSequence\"],\n \"0050\" : [\"SQ\", \"ReferencedDoseReferenceSequence\"],\n \"0051\" : [\"IS\", \"ReferencedDoseReferenceNumber\"],\n \"0055\" : [\"SQ\", \"BrachyReferencedDoseReferenceSequence\"],\n \"0060\" : [\"SQ\", \"ReferencedStructureSetSequence\"],\n \"006A\" : [\"IS\", \"ReferencedPatientSetupNumber\"],\n \"0080\" : [\"SQ\", \"ReferencedDoseSequence\"],\n \"00A0\" : [\"IS\", \"ReferencedToleranceTableNumber\"],\n \"00B0\" : [\"SQ\", \"ReferencedBolusSequence\"],\n \"00C0\" : [\"IS\", \"ReferencedWedgeNumber\"],\n \"00D0\" : [\"IS\", \"ReferencedCompensatorNumber\"],\n \"00E0\" : [\"IS\", \"ReferencedBlockNumber\"],\n \"00F0\" : [\"IS\", \"ReferencedControlPointIndex\"],\n \"00F2\" : [\"SQ\", \"ReferencedControlPointSequence\"],\n \"00F4\" : [\"IS\", \"ReferencedStartControlPointIndex\"],\n \"00F6\" : [\"IS\", \"ReferencedStopControlPointIndex\"],\n \"0100\" : [\"IS\", \"ReferencedRangeShifterNumber\"],\n \"0102\" : [\"IS\", \"ReferencedLateralSpreadingDeviceNumber\"],\n \"0104\" : [\"IS\", \"ReferencedRangeModulatorNumber\"]\n },\n \"300E\" : {\n \"0002\" : [\"CS\", \"ApprovalStatus\"],\n \"0004\" : [\"DA\", \"ReviewDate\"],\n \"0005\" : [\"TM\", \"ReviewTime\"],\n \"0008\" : [\"PN\", \"ReviewerName\"]\n },\n \"4000\" : {\n \"0010\" : [\"LT\", \"Arbitrary\"],\n \"4000\" : [\"LT\", \"TextComments\"]\n },\n \"4008\" : {\n \"0040\" : [\"SH\", \"ResultsID\"],\n \"0042\" : [\"LO\", \"ResultsIDIssuer\"],\n \"0050\" : [\"SQ\", \"ReferencedInterpretationSequence\"],\n \"00FF\" : [\"CS\", \"ReportProductionStatusTrial\"],\n \"0100\" : [\"DA\", \"InterpretationRecordedDate\"],\n \"0101\" : [\"TM\", \"InterpretationRecordedTime\"],\n \"0102\" : [\"PN\", \"InterpretationRecorder\"],\n \"0103\" : [\"LO\", \"ReferenceToRecordedSound\"],\n \"0108\" : [\"DA\", \"InterpretationTranscriptionDate\"],\n \"0109\" : [\"TM\", \"InterpretationTranscriptionTime\"],\n \"010A\" : [\"PN\", \"InterpretationTranscriber\"],\n \"010B\" : [\"ST\", \"InterpretationText\"],\n \"010C\" : [\"PN\", \"InterpretationAuthor\"],\n \"0111\" : [\"SQ\", \"InterpretationApproverSequence\"],\n \"0112\" : [\"DA\", \"InterpretationApprovalDate\"],\n \"0113\" : [\"TM\", \"InterpretationApprovalTime\"],\n \"0114\" : [\"PN\", \"PhysicianApprovingInterpretation\"],\n \"0115\" : [\"LT\", \"InterpretationDiagnosisDescription\"],\n \"0117\" : [\"SQ\", \"InterpretationDiagnosisCodeSequence\"],\n \"0118\" : [\"SQ\", \"ResultsDistributionListSequence\"],\n \"0119\" : [\"PN\", \"DistributionName\"],\n \"011A\" : [\"LO\", \"DistributionAddress\"],\n \"0200\" : [\"SH\", \"InterpretationID\"],\n \"0202\" : [\"LO\", \"InterpretationIDIssuer\"],\n \"0210\" : [\"CS\", \"InterpretationTypeID\"],\n \"0212\" : [\"CS\", \"InterpretationStatusID\"],\n \"0300\" : [\"ST\", \"Impressions\"],\n \"4000\" : [\"ST\", \"ResultsComments\"]\n },\n \"4010\" : {\n \"0001\" : [\"CS\", \"LowEnergyDetectors\"],\n \"0002\" : [\"CS\", \"HighEnergyDetectors\"],\n \"0004\" : [\"SQ\", \"DetectorGeometrySequence\"],\n \"1001\" : [\"SQ\", \"ThreatROIVoxelSequence\"],\n \"1004\" : [\"FL\", \"ThreatROIBase\"],\n \"1005\" : [\"FL\", \"ThreatROIExtents\"],\n \"1006\" : [\"OB\", \"ThreatROIBitmap\"],\n \"1007\" : [\"SH\", \"RouteSegmentID\"],\n \"1008\" : [\"CS\", \"GantryType\"],\n \"1009\" : [\"CS\", \"OOIOwnerType\"],\n \"100A\" : [\"SQ\", \"RouteSegmentSequence\"],\n \"1010\" : [\"US\", \"PotentialThreatObjectID\"],\n \"1011\" : [\"SQ\", \"ThreatSequence\"],\n \"1012\" : [\"CS\", \"ThreatCategory\"],\n \"1013\" : [\"LT\", \"ThreatCategoryDescription\"],\n \"1014\" : [\"CS\", \"ATDAbilityAssessment\"],\n \"1015\" : [\"CS\", \"ATDAssessmentFlag\"],\n \"1016\" : [\"FL\", \"ATDAssessmentProbability\"],\n \"1017\" : [\"FL\", \"Mass\"],\n \"1018\" : [\"FL\", \"Density\"],\n \"1019\" : [\"FL\", \"ZEffective\"],\n \"101A\" : [\"SH\", \"BoardingPassID\"],\n \"101B\" : [\"FL\", \"CenterOfMass\"],\n \"101C\" : [\"FL\", \"CenterOfPTO\"],\n \"101D\" : [\"FL\", \"BoundingPolygon\"],\n \"101E\" : [\"SH\", \"RouteSegmentStartLocationID\"],\n \"101F\" : [\"SH\", \"RouteSegmentEndLocationID\"],\n \"1020\" : [\"CS\", \"RouteSegmentLocationIDType\"],\n \"1021\" : [\"CS\", \"AbortReason\"],\n \"1023\" : [\"FL\", \"VolumeOfPTO\"],\n \"1024\" : [\"CS\", \"AbortFlag\"],\n \"1025\" : [\"DT\", \"RouteSegmentStartTime\"],\n \"1026\" : [\"DT\", \"RouteSegmentEndTime\"],\n \"1027\" : [\"CS\", \"TDRType\"],\n \"1028\" : [\"CS\", \"InternationalRouteSegment\"],\n \"1029\" : [\"LO\", \"ThreatDetectionAlgorithmandVersion\"],\n \"102A\" : [\"SH\", \"AssignedLocation\"],\n \"102B\" : [\"DT\", \"AlarmDecisionTime\"],\n \"1031\" : [\"CS\", \"AlarmDecision\"],\n \"1033\" : [\"US\", \"NumberOfTotalObjects\"],\n \"1034\" : [\"US\", \"NumberOfAlarmObjects\"],\n \"1037\" : [\"SQ\", \"PTORepresentationSequence\"],\n \"1038\" : [\"SQ\", \"ATDAssessmentSequence\"],\n \"1039\" : [\"CS\", \"TIPType\"],\n \"103A\" : [\"CS\", \"DICOSVersion\"],\n \"1041\" : [\"DT\", \"OOIOwnerCreationTime\"],\n \"1042\" : [\"CS\", \"OOIType\"],\n \"1043\" : [\"FL\", \"OOISize\"],\n \"1044\" : [\"CS\", \"AcquisitionStatus\"],\n \"1045\" : [\"SQ\", \"BasisMaterialsCodeSequence\"],\n \"1046\" : [\"CS\", \"PhantomType\"],\n \"1047\" : [\"SQ\", \"OOIOwnerSequence\"],\n \"1048\" : [\"CS\", \"ScanType\"],\n \"1051\" : [\"LO\", \"ItineraryID\"],\n \"1052\" : [\"SH\", \"ItineraryIDType\"],\n \"1053\" : [\"LO\", \"ItineraryIDAssigningAuthority\"],\n \"1054\" : [\"SH\", \"RouteID\"],\n \"1055\" : [\"SH\", \"RouteIDAssigningAuthority\"],\n \"1056\" : [\"CS\", \"InboundArrivalType\"],\n \"1058\" : [\"SH\", \"CarrierID\"],\n \"1059\" : [\"CS\", \"CarrierIDAssigningAuthority\"],\n \"1060\" : [\"FL\", \"SourceOrientation\"],\n \"1061\" : [\"FL\", \"SourcePosition\"],\n \"1062\" : [\"FL\", \"BeltHeight\"],\n \"1064\" : [\"SQ\", \"AlgorithmRoutingCodeSequence\"],\n \"1067\" : [\"CS\", \"TransportClassification\"],\n \"1068\" : [\"LT\", \"OOITypeDescriptor\"],\n \"1069\" : [\"FL\", \"TotalProcessingTime\"],\n \"106C\" : [\"OB\", \"DetectorCalibrationData\"]\n }\n};\n\n\n\n/*** Static Methods ***/\n\n/**\n * Returns the VR for the specified group and element.\n * @param {number} group\n * @param {number} element\n * @returns {string}\n */\ndaikon.Dictionary.getVR = function (group, element) {\n var vr, elementData, groupData;\n\n groupData = daikon.Dictionary.dict[daikon.Utils.dec2hex(group)];\n if (groupData) {\n elementData = groupData[daikon.Utils.dec2hex(element)];\n if (elementData) {\n vr = elementData[0];\n } else if (element === 0) {\n vr = 'UL';\n }\n }\n\n if (!vr) {\n groupData = daikon.Dictionary.dictPrivate[daikon.Utils.dec2hex(group)];\n if (groupData) {\n elementData = groupData[daikon.Utils.dec2hex(element)];\n if (elementData) {\n vr = elementData[0];\n }\n }\n }\n\n if (!vr) {\n vr = 'OB';\n }\n\n return vr;\n};\n\n\n\n/**\n * Returns the description for the specified group and element.\n * @param {number} group\n * @param {number} element\n * @returns {string}\n */\ndaikon.Dictionary.getDescription = function (group, element) {\n var des, elementData, groupData;\n\n groupData = daikon.Dictionary.dict[daikon.Utils.dec2hex(group)];\n if (groupData) {\n elementData = groupData[daikon.Utils.dec2hex(element)];\n if (elementData) {\n des = elementData[1];\n } else if (element === 0) {\n des = (\"Group \" + daikon.Utils.dec2hex(group) + \" Length\");\n }\n }\n\n if (!des) {\n groupData = daikon.Dictionary.dictPrivate[daikon.Utils.dec2hex(group)];\n if (groupData) {\n elementData = groupData[daikon.Utils.dec2hex(element)];\n if (elementData) {\n des = elementData[1];\n }\n }\n }\n\n if (!des) {\n des = 'PrivateData';\n }\n\n return des;\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.Dictionary;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/dictionary.js\n// module id = 6\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.Tag = daikon.Tag || ((typeof require !== 'undefined') ? require('./tag.js') : null);\ndaikon.CompressionUtils = daikon.CompressionUtils || ((typeof require !== 'undefined') ? require('./compression-utils.js') : null);\ndaikon.Utils = daikon.Utils || ((typeof require !== 'undefined') ? require('./utilities.js') : null);\ndaikon.RLE = daikon.RLE || ((typeof require !== 'undefined') ? require('./rle.js') : null);\n\nvar jpeg = ((typeof require !== 'undefined') ? require('jpeg-lossless-decoder-js') : null);\nvar JpegDecoder = JpegDecoder || ((typeof require !== 'undefined') ? require('../lib/jpeg-baseline.js').JpegImage : null);\nvar JpxImage = JpxImage || ((typeof require !== 'undefined') ? require('../lib/jpx.js') : null);\nvar JpegLSDecoder = JpegLSDecoder || ((typeof require !== 'undefined') ? require('../lib/jpeg-ls.js') : null);\n\n\n/*** Constructor ***/\n\n/**\n * The Image constructor.\n * @property {object} tags - a map of tag id to tag (see daikon.Tag.createId)\n * @property {object} tagsFlat - a flattened map of tags\n * @type {Function}\n */\ndaikon.Image = daikon.Image || function () {\n this.tags = {};\n this.tagsFlat = {};\n this.littleEndian = false;\n this.index = -1;\n this.decompressed = false;\n this.privateDataAll = null;\n this.convertedPalette = false;\n};\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.Image.SLICE_DIRECTION_UNKNOWN = -1;\ndaikon.Image.SLICE_DIRECTION_AXIAL = 2;\ndaikon.Image.SLICE_DIRECTION_CORONAL = 1;\ndaikon.Image.SLICE_DIRECTION_SAGITTAL = 0;\ndaikon.Image.SLICE_DIRECTION_OBLIQUE = 3;\ndaikon.Image.OBLIQUITY_THRESHOLD_COSINE_VALUE = 0.8;\n\ndaikon.Image.BYTE_TYPE_UNKNOWN = 0;\ndaikon.Image.BYTE_TYPE_BINARY = 1;\ndaikon.Image.BYTE_TYPE_INTEGER = 2;\ndaikon.Image.BYTE_TYPE_INTEGER_UNSIGNED = 3;\ndaikon.Image.BYTE_TYPE_FLOAT = 4;\ndaikon.Image.BYTE_TYPE_COMPLEX = 5;\ndaikon.Image.BYTE_TYPE_RGB = 6;\n\n\n/*** Static Methods ***/\n\ndaikon.Image.skipPaletteConversion = false;\n\n\ndaikon.Image.getSingleValueSafely = function (tag, index) {\n if (tag && tag.value) {\n return tag.value[index];\n }\n\n return null;\n};\n\n\n\ndaikon.Image.getValueSafely = function (tag) {\n if (tag) {\n return tag.value;\n }\n\n return null;\n};\n\n\n\n// originally from: http://public.kitware.com/pipermail/insight-users/2005-March/012246.html\ndaikon.Image.getMajorAxisFromPatientRelativeDirectionCosine = function(x, y, z) {\n var axis, orientationX, orientationY, orientationZ, absX, absY, absZ;\n\n orientationX = (x < 0) ? \"R\" : \"L\";\n orientationY = (y < 0) ? \"A\" : \"P\";\n orientationZ = (z < 0) ? \"F\" : \"H\";\n\n absX = Math.abs(x);\n absY = Math.abs(y);\n absZ = Math.abs(z);\n\n // The tests here really don't need to check the other dimensions,\n // just the threshold, since the sum of the squares should be == 1.0\n // but just in case ...\n\n if ((absX > daikon.Image.OBLIQUITY_THRESHOLD_COSINE_VALUE) && (absX > absY) && (absX > absZ)) {\n axis = orientationX;\n } else if ((absY > daikon.Image.OBLIQUITY_THRESHOLD_COSINE_VALUE) && (absY > absX) && (absY > absZ)) {\n axis = orientationY;\n } else if ((absZ > daikon.Image.OBLIQUITY_THRESHOLD_COSINE_VALUE) && (absZ > absX) && (absZ > absY)) {\n axis = orientationZ;\n } else {\n axis = null;\n }\n\n return axis;\n};\n\n\n/*** Prototype Methods ***/\n\n/**\n * Returns the number of columns.\n * @returns {number}\n */\ndaikon.Image.prototype.getCols = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_COLS[0], daikon.Tag.TAG_COLS[1]), 0);\n};\n\n\n\n/**\n * Returns the number of rows.\n * @returns {number}\n */\ndaikon.Image.prototype.getRows = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_ROWS[0], daikon.Tag.TAG_ROWS[1]), 0);\n};\n\n\n\n/**\n * Returns the series description.\n * @returns {string}\n */\ndaikon.Image.prototype.getSeriesDescription = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SERIES_DESCRIPTION[0], daikon.Tag.TAG_SERIES_DESCRIPTION[1]), 0);\n};\n\n\n\n/**\n * Returns the series instance UID.\n * @returns {string}\n */\ndaikon.Image.prototype.getSeriesInstanceUID = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SERIES_INSTANCE_UID[0], daikon.Tag.TAG_SERIES_INSTANCE_UID[1]), 0);\n};\n\n\n\n/**\n * Returns the series number.\n * @returns {number}\n */\ndaikon.Image.prototype.getSeriesNumber = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SERIES_NUMBER[0], daikon.Tag.TAG_SERIES_NUMBER[1]), 0);\n};\n\n\n\n/**\n * Returns the echo number.\n * @returns {number}\n */\ndaikon.Image.prototype.getEchoNumber = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_ECHO_NUMBER[0], daikon.Tag.TAG_ECHO_NUMBER[1]), 0);\n};\n\n\n\n/**\n * Returns the image position.\n * @return {number[]}\n */\ndaikon.Image.prototype.getImagePosition = function () {\n return daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_POSITION[0], daikon.Tag.TAG_IMAGE_POSITION[1]));\n};\n\n/**\n * Returns the image axis directions\n * @return {number[]}\n */\ndaikon.Image.prototype.getImageDirections = function () {\n return daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_ORIENTATION[0], daikon.Tag.TAG_IMAGE_ORIENTATION[1]))\n};\n\n\n/**\n * Returns the image position value by index.\n * @param {number} sliceDir - the index\n * @returns {number}\n */\ndaikon.Image.prototype.getImagePositionSliceDir = function (sliceDir) {\n var imagePos = daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_POSITION[0], daikon.Tag.TAG_IMAGE_POSITION[1]));\n if (imagePos) {\n if (sliceDir >= 0) {\n return imagePos[sliceDir];\n }\n }\n\n return 0;\n};\n\n\n/**\n * Returns the modality\n * @returns {string}\n */\ndaikon.Image.prototype.getModality = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_MODALITY[0], daikon.Tag.TAG_MODALITY[1]), 0);\n};\n\n\n/**\n * Returns the slice location.\n * @returns {number}\n */\ndaikon.Image.prototype.getSliceLocation = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SLICE_LOCATION[0], daikon.Tag.TAG_SLICE_LOCATION[1]), 0);\n};\n\n\n\n/**\n * Returns the slice location vector.\n * @returns {number[]}\n */\ndaikon.Image.prototype.getSliceLocationVector = function () {\n return daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_SLICE_LOCATION_VECTOR[0], daikon.Tag.TAG_SLICE_LOCATION_VECTOR[1]));\n};\n\n\n\n/**\n * Returns the image number.\n * @returns {number}\n */\ndaikon.Image.prototype.getImageNumber = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_NUM[0], daikon.Tag.TAG_IMAGE_NUM[1]), 0);\n};\n\n\n/**\n * Returns the temporal position.\n * @returns {number}\n */\ndaikon.Image.prototype.getTemporalPosition = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_TEMPORAL_POSITION[0], daikon.Tag.TAG_TEMPORAL_POSITION[1]), 0);\n};\n\n\n/**\n * Returns the temporal number.\n * @returns {number}\n */\ndaikon.Image.prototype.getTemporalNumber = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_NUMBER_TEMPORAL_POSITIONS[0], daikon.Tag.TAG_NUMBER_TEMPORAL_POSITIONS[1]), 0);\n};\n\n\n/**\n * Returns the slice gap.\n * @returns {number}\n */\ndaikon.Image.prototype.getSliceGap = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SLICE_GAP[0], daikon.Tag.TAG_SLICE_GAP[1]), 0);\n};\n\n\n/**\n * Returns the slice thickness.\n * @returns {number}\n */\ndaikon.Image.prototype.getSliceThickness = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SLICE_THICKNESS[0], daikon.Tag.TAG_SLICE_THICKNESS[1]), 0);\n};\n\n\n/**\n * Returns the image maximum.\n * @returns {number}\n */\ndaikon.Image.prototype.getImageMax = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_MAX[0], daikon.Tag.TAG_IMAGE_MAX[1]), 0);\n};\n\n\n/**\n * Returns the image minimum.\n * @returns {number}\n */\ndaikon.Image.prototype.getImageMin = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_MIN[0], daikon.Tag.TAG_IMAGE_MIN[1]), 0);\n};\n\n\n/**\n * Returns the rescale slope.\n * @returns {number}\n */\ndaikon.Image.prototype.getDataScaleSlope = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_DATA_SCALE_SLOPE[0], daikon.Tag.TAG_DATA_SCALE_SLOPE[1]), 0);\n};\n\n\n/**\n * Returns the rescale intercept.\n * @returns {number}\n */\ndaikon.Image.prototype.getDataScaleIntercept = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_DATA_SCALE_INTERCEPT[0], daikon.Tag.TAG_DATA_SCALE_INTERCEPT[1]), 0);\n};\n\n\n\ndaikon.Image.prototype.getDataScaleElscint = function () {\n var scale = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_DATA_SCALE_ELSCINT[0], daikon.Tag.TAG_DATA_SCALE_ELSCINT[1]), 0);\n\n if (!scale) {\n scale = 1;\n }\n\n var bandwidth = this.getPixelBandwidth();\n scale = Math.sqrt(bandwidth) / (10 * scale);\n\n if (scale <= 0) {\n scale = 1;\n }\n\n return scale;\n};\n\n\n/**\n * Returns the window width.\n * @returns {number}\n */\ndaikon.Image.prototype.getWindowWidth = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_WINDOW_WIDTH[0], daikon.Tag.TAG_WINDOW_WIDTH[1]), 0);\n};\n\n\n/**\n * Returns the window center.\n * @returns {number}\n */\ndaikon.Image.prototype.getWindowCenter = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_WINDOW_CENTER[0], daikon.Tag.TAG_WINDOW_CENTER[1]), 0);\n};\n\n\n\ndaikon.Image.prototype.getPixelBandwidth = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_PIXEL_BANDWIDTH[0], daikon.Tag.TAG_PIXEL_BANDWIDTH[1]), 0);\n};\n\n\n\ndaikon.Image.prototype.getSeriesId = function () {\n var des = this.getSeriesDescription();\n var uid = this.getSeriesInstanceUID();\n var num = this.getSeriesNumber();\n var echo = this.getEchoNumber();\n var orientation = this.getOrientation();\n var cols = this.getCols();\n var rows = this.getRows();\n\n var id = \"\";\n\n if (des !== null) {\n id += (\" \" + des);\n }\n\n if (uid !== null) {\n id += (\" \" + uid);\n }\n\n if (num !== null) {\n id += (\" \" + num);\n }\n\n if (echo !== null) {\n id += (\" \" + echo);\n }\n\n if (orientation !== null) {\n id += (\" \" + orientation);\n }\n\n id += (\" (\" + cols + \" x \" + rows + \")\");\n\n return id;\n};\n\n\n/**\n * Returns the pixel spacing.\n * @returns {number[]}\n */\ndaikon.Image.prototype.getPixelSpacing = function () {\n return daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_PIXEL_SPACING[0], daikon.Tag.TAG_PIXEL_SPACING[1]));\n};\n\n\n/**\n * Returns the image type.\n * @returns {string[]}\n */\ndaikon.Image.prototype.getImageType = function () {\n return daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_TYPE[0], daikon.Tag.TAG_IMAGE_TYPE[1]));\n};\n\n\n/**\n * Returns the number of bits stored.\n * @returns {number}\n */\ndaikon.Image.prototype.getBitsStored = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_BITS_STORED[0], daikon.Tag.TAG_BITS_STORED[1]), 0);\n};\n\n\n/**\n * Returns the number of bits allocated.\n * @returns {number}\n */\ndaikon.Image.prototype.getBitsAllocated = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_BITS_ALLOCATED[0], daikon.Tag.TAG_BITS_ALLOCATED[1]), 0);\n};\n\n\n/**\n * Returns the frame time.\n * @returns {number}\n */\ndaikon.Image.prototype.getFrameTime = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_FRAME_TIME[0], daikon.Tag.TAG_FRAME_TIME[1]), 0);\n};\n\n\n/**\n * Returns the acquisition matrix (e.g., \"mosaic\" data).\n * @returns {number[]}\n */\ndaikon.Image.prototype.getAcquisitionMatrix = function () {\n var mat, matPrivate, start, end, str;\n\n mat = [0, 0];\n mat[0] = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_ACQUISITION_MATRIX[0], daikon.Tag.TAG_ACQUISITION_MATRIX[1]), 0);\n\n if (this.privateDataAll === null) {\n this.privateDataAll = this.getAllInterpretedPrivateData();\n }\n\n if ((this.privateDataAll !== null) && (this.privateDataAll.length > 0)) {\n start = this.privateDataAll.indexOf(\"AcquisitionMatrixText\");\n if (start !== -1) {\n\n end = this.privateDataAll.indexOf('\\n', start);\n\n if (end !== -1) {\n str = this.privateDataAll.substring(start, end);\n matPrivate = str.match(/\\d+/g);\n\n if ((matPrivate !== null) && (matPrivate.length === 2)) {\n mat[0] = matPrivate[0];\n mat[1] = matPrivate[1];\n } else if ((matPrivate !== null) && (matPrivate.length === 1)) {\n mat[0] = matPrivate[0];\n }\n }\n }\n }\n\n if (mat[1] === 0) {\n mat[1] = mat[0];\n }\n\n return mat;\n};\n\n\n/**\n * Returns the TR.\n * @returns {number}\n */\ndaikon.Image.prototype.getTR = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_TR, daikon.Tag.TAG_TR[1]), 0);\n};\n\n\n\ndaikon.Image.prototype.putTag = function (tag) {\n this.tags[tag.id] = tag;\n this.putFlattenedTag(this.tagsFlat, tag);\n};\n\n\n\ndaikon.Image.prototype.putFlattenedTag = function (tags, tag) {\n var ctr;\n\n if (tag.sublist) {\n for (ctr = 0; ctr < tag.value.length; ctr += 1) {\n this.putFlattenedTag(tags, tag.value[ctr]);\n }\n } else {\n if (!tags[tag.id]) {\n tags[tag.id] = tag;\n }\n }\n};\n\n\n/**\n * Returns a tag matching the specified group and element.\n * @param {number} group\n * @param {number} element\n * @returns {daikon.Tag}\n */\ndaikon.Image.prototype.getTag = function (group, element) {\n var tagId = daikon.Tag.createId(group, element);\n\n if (this.tags[tagId]) {\n return this.tags[tagId];\n }\n\n return this.tagsFlat[tagId];\n};\n\n\n/**\n * Returns the pixel data tag.\n * @returns {daikon.Tag}\n */\ndaikon.Image.prototype.getPixelData = function () {\n return this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])];\n};\n\n\n\ndaikon.Image.prototype.getPixelDataBytes = function () {\n if (this.isCompressed()) {\n this.decompress();\n }\n\n if (this.isPalette() && !daikon.Image.skipPaletteConversion) {\n this.convertPalette();\n }\n\n return this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value.buffer;\n};\n\n\n/**\n * Returns the raw pixel data.\n * @returns {ArrayBuffer}\n */\ndaikon.Image.prototype.getRawData = function () {\n return this.getPixelDataBytes();\n};\n\n\n/**\n * Returns interpreted pixel data (considers datatype, byte order, data scales).\n * @param {boolean} asArray - if true, the returned data is a JavaScript Array\n * @param {boolean} asObject - if true, an object is returned with properties: data, min, max, minIndex, maxIndex, numCols, numRows\n * @param {number} frameIndex - if provided, only the desired frame in a multi-frame dataset is returned\n * @returns {Float32Array|Array|object}\n */\ndaikon.Image.prototype.getInterpretedData = function (asArray, asObject, frameIndex) {\n var datatype, numBytes, numElements, dataView, data, ctr, mask, slope, intercept, min, max, value, minIndex,\n maxIndex, littleEndian, rawValue, rawData, allFrames, elementsPerFrame, totalElements, offset, dataCtr;\n allFrames = arguments.length < 3;\n mask = daikon.Utils.createBitMask(this.getBitsAllocated() / 8, this.getBitsStored(),\n this.getDataType() === daikon.Image.BYTE_TYPE_INTEGER_UNSIGNED);\n datatype = this.getPixelRepresentation() ? daikon.Image.BYTE_TYPE_INTEGER : daikon.Image.BYTE_TYPE_INTEGER_UNSIGNED;\n numBytes = this.getBitsAllocated() / 8;\n rawData = this.getRawData();\n dataView = new DataView(rawData);\n totalElements = rawData.byteLength / numBytes;\n elementsPerFrame = totalElements / this.getNumberOfFrames();\n numElements = allFrames ? totalElements : elementsPerFrame;\n offset = allFrames ? 0 : frameIndex * elementsPerFrame;\n slope = this.getDataScaleSlope() || 1;\n intercept = this.getDataScaleIntercept() || 0;\n min = daikon.Utils.MAX_VALUE;\n max = daikon.Utils.MIN_VALUE;\n minIndex = -1;\n maxIndex = -1;\n littleEndian = this.littleEndian;\n\n if (asArray) {\n data = new Array(numElements);\n } else {\n data = new Float32Array(numElements);\n }\n var getWord;\n if (datatype === daikon.Image.BYTE_TYPE_INTEGER) {\n if (numBytes === 1) {\n getWord = dataView.getInt8.bind(dataView)\n } else if (numBytes === 2) {\n getWord = dataView.getInt16.bind(dataView)\n }\n } else if (datatype === daikon.Image.BYTE_TYPE_INTEGER_UNSIGNED) {\n if (numBytes === 1) {\n getWord = dataView.getUint8.bind(dataView)\n } else if (numBytes === 2) {\n getWord = dataView.getUint16.bind(dataView)\n }\n }\n \n // invert pixel values if INVERTED xor MONOCHROME1\n var invert = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_LUT_SHAPE[0], daikon.Tag.TAG_LUT_SHAPE[1]), 0) === \"INVERSE\";\n invert = !invert && this.getPhotometricInterpretation() === \"MONOCHROME1\";\n if (invert) {\n var maxVal = Math.pow(2, this.getBitsStored()) - 1;\n var minVal = 0;\n if (datatype === daikon.Image.BYTE_TYPE_INTEGER) {\n maxVal /= 2;\n minVal = -maxVal;\n }\n var originalGetWord = getWord;\n getWord = function(offset, endian) { \n var val = maxVal - originalGetWord(offset, endian);\n return Math.min(maxVal, Math.max(minVal, val)); \n }\n }\n\n for (ctr = offset, dataCtr = 0; dataCtr < numElements; ctr++, dataCtr++) {\n rawValue = getWord(ctr * numBytes, littleEndian);\n\n value = ((rawValue & mask) * slope) + intercept;\n data[dataCtr] = value;\n\n if (value < min) {\n min = value;\n minIndex = dataCtr;\n }\n\n if (value > max) {\n max = value;\n maxIndex = dataCtr;\n }\n }\n\n if (asObject) {\n return {data: data, min: min, minIndex: minIndex, max: max, maxIndex: maxIndex, numCols: this.getCols(),\n numRows: this.getRows()};\n }\n \n return data;\n};\n\n\n\ndaikon.Image.prototype.convertPalette = function () {\n var data, reds, greens, blues, rgb, numBytes, numElements, ctr, index, rVal, gVal, bVal;\n\n data = this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value;\n\n reds = this.getPalleteValues(daikon.Tag.TAG_PALETTE_RED);\n greens = this.getPalleteValues(daikon.Tag.TAG_PALETTE_GREEN);\n blues = this.getPalleteValues(daikon.Tag.TAG_PALETTE_BLUE);\n\n if ((reds !== null) && (reds.length > 0) && (greens !== null) && (greens.length > 0) && (blues !== null) &&\n (blues.length > 0) && !this.convertedPalette) {\n rgb = new DataView(new ArrayBuffer(this.getRows() * this.getCols() * this.getNumberOfFrames() * 3));\n numBytes = parseInt(Math.ceil(this.getBitsAllocated() / 8));\n numElements = data.byteLength / numBytes;\n\n if (numBytes === 1) {\n for (ctr = 0; ctr < numElements; ctr += 1) {\n index = data.getUint8(ctr);\n rVal = reds[index];\n gVal = greens[index];\n bVal = blues[index];\n rgb.setUint8((ctr * 3), rVal);\n rgb.setUint8((ctr * 3) + 1, gVal);\n rgb.setUint8((ctr * 3) + 2, bVal);\n }\n } else if (numBytes === 2) {\n for (ctr = 0; ctr < numElements; ctr += 1) {\n index = data.getUint16(ctr * 2);\n rVal = reds[index];\n gVal = greens[index];\n bVal = blues[index];\n rgb.setUint8((ctr * 3), rVal);\n rgb.setUint8((ctr * 3) + 1, gVal);\n rgb.setUint8((ctr * 3) + 2, bVal);\n }\n }\n\n data = rgb;\n this.convertedPalette = true;\n }\n\n this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value = data;\n};\n\n\n\ndaikon.Image.prototype.decompressJPEG = function (jpg) {\n if (this.isCompressedJPEGLossless()) {\n var decoder = new jpeg.lossless.Decoder();\n return decoder.decode(jpg);\n } else if (this.isCompressedJPEGBaseline()) {\n var decoder = new JpegDecoder();\n decoder.parse(new Uint8Array(jpg));\n var width = decoder.width;\n var height = decoder.height;\n\n var decoded;\n if (this.getBitsAllocated() === 8) {\n decoded = decoder.getData(width, height);\n } else if (this.getBitsAllocated() === 16) {\n decoded = decoder.getData16(width, height);\n }\n\n return decoded;\n } else if (this.isCompressedJPEG2000()) {\n var decoder = new JpxImage();\n decoder.parse(new Uint8Array(jpg));\n return decoder.tiles[0].items;\n } else if (this.isCompressedJPEGLS()) {\n var decoder = new JpegLSDecoder();\n return decoder.decodeJPEGLS(new Uint8Array(jpg), this.getDataType() === daikon.Image.BYTE_TYPE_INTEGER);\n }\n};\n\n\n\ndaikon.Image.prototype.decompress = function () {\n var jpegs, rle, decoder, decompressed, numFrames, frameSize, temp, ctr, width, height, numComponents, decoded;\n\n decompressed = null;\n\n if (!this.decompressed) {\n this.decompressed = true;\n\n frameSize = this.getRows() * this.getCols() * parseInt(Math.ceil(this.getBitsAllocated() / 8));\n numFrames = this.getNumberOfFrames();\n\n if (this.isCompressedJPEGLossless()) {\n jpegs = this.getJpegs();\n\n for (ctr = 0; ctr < jpegs.length; ctr+=1) {\n decoder = new jpeg.lossless.Decoder();\n temp = decoder.decode(jpegs[ctr]);\n numComponents = decoder.numComp;\n\n if (decompressed === null) {\n decompressed = new DataView(new ArrayBuffer(frameSize * numFrames * numComponents));\n }\n\n (new Uint8Array(decompressed.buffer)).set(new Uint8Array(temp.buffer), (ctr * frameSize * numComponents));\n temp = null;\n }\n\n this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value = decompressed;\n } else if (this.isCompressedJPEGBaseline()) {\n jpegs = this.getJpegs();\n\n for (ctr = 0; ctr < jpegs.length; ctr+=1) {\n decoder = new JpegDecoder();\n decoder.parse(new Uint8Array(jpegs[ctr]));\n width = decoder.width;\n height = decoder.height;\n numComponents = decoder.components.length;\n\n if (decompressed === null) {\n decompressed = new DataView(new ArrayBuffer(frameSize * numFrames * numComponents));\n }\n\n if (this.getBitsAllocated() === 8) {\n decoded = decoder.getData(width, height);\n } else if (this.getBitsAllocated() === 16) {\n decoded = decoder.getData16(width, height);\n }\n\n daikon.Utils.fillBuffer(decoded, decompressed, (ctr * frameSize * numComponents),\n parseInt(Math.ceil(this.getBitsAllocated() / 8)));\n\n decoded = null;\n }\n\n this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value = decompressed;\n } else if (this.isCompressedJPEG2000()) {\n jpegs = this.getJpegs();\n\n for (ctr = 0; ctr < jpegs.length; ctr+=1) {\n decoder = new JpxImage();\n decoder.parse(new Uint8Array(jpegs[ctr]));\n width = decoder.width;\n height = decoder.height;\n decoded = decoder.tiles[0].items;\n numComponents = decoder.componentsCount;\n\n if (decompressed === null) {\n decompressed = new DataView(new ArrayBuffer(frameSize * numFrames * numComponents));\n }\n\n daikon.Utils.fillBuffer(decoded, decompressed, (ctr * frameSize * numComponents),\n parseInt(Math.ceil(this.getBitsAllocated() / 8)));\n\n decoded = null;\n }\n\n this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value = decompressed;\n } else if (this.isCompressedJPEGLS()) {\n jpegs = this.getJpegs();\n\n for (ctr = 0; ctr < jpegs.length; ctr+=1) {\n decoder = new JpegLSDecoder();\n var decoded = decoder.decodeJPEGLS(new Uint8Array(jpegs[ctr]), this.getDataType() === daikon.Image.BYTE_TYPE_INTEGER);\n width = decoded.columns;\n height = decoded.rows;\n decoded = decoded.pixelData;\n numComponents = this.getNumberOfSamplesPerPixel();\n\n if (decompressed === null) {\n decompressed = new DataView(new ArrayBuffer(frameSize * numFrames * numComponents));\n }\n\n daikon.Utils.fillBuffer(decoded, decompressed, (ctr * frameSize * numComponents),\n parseInt(Math.ceil(this.getBitsAllocated() / 8)));\n\n decoded = null;\n }\n\n this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value = decompressed;\n } else if (this.isCompressedRLE()) {\n rle = this.getRLE();\n\n for (ctr = 0; ctr < rle.length; ctr+=1) {\n decoder = new daikon.RLE();\n temp = decoder.decode(rle[ctr], this.littleEndian, this.getRows() * this.getCols());\n numComponents = (decoder.numSegments === 3 ? 3 : 1);\n\n if (decompressed === null) {\n decompressed = new DataView(new ArrayBuffer(frameSize * numFrames * numComponents));\n }\n\n (new Uint8Array(decompressed.buffer)).set(new Uint8Array(temp.buffer), (ctr * frameSize * numComponents));\n temp = null;\n }\n\n this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value = decompressed;\n }\n }\n};\n\n\n/**\n * Returns true if pixel data is found.\n * @returns {boolean}\n */\ndaikon.Image.prototype.hasPixelData = function () {\n return (this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])] !== undefined);\n};\n\n\n\ndaikon.Image.prototype.clearPixelData = function () {\n this.tags[daikon.Tag.createId(daikon.Tag.TAG_PIXEL_DATA[0], daikon.Tag.TAG_PIXEL_DATA[1])].value = null;\n};\n\n\n/**\n * Returns an orientation string (e.g., XYZ+--).\n * @returns {string}\n */\ndaikon.Image.prototype.getOrientation = function () {\n var orientation = null,\n dirCos = daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_ORIENTATION[0], daikon.Tag.TAG_IMAGE_ORIENTATION[1])),\n ctr,\n spacing,\n rowSpacing,\n swapZ,\n bigRow = 0, bigCol = 0,\n biggest = 0, orient = '';\n\n if (!dirCos || (dirCos.length !== 6)) {\n return null;\n }\n\n spacing = this.getPixelSpacing();\n\n if (!spacing) {\n return null;\n }\n\n rowSpacing = spacing[0];\n swapZ = true;\n\n for (ctr = 0; ctr < 3; ctr += 1) {\n if (Math.abs(dirCos[ctr]) > biggest) {\n biggest = Math.abs(dirCos[ctr]);\n bigRow = ctr;\n }\n }\n\n biggest = 0;\n for (; ctr < 6; ctr += 1) {\n if (Math.abs(dirCos[ctr]) > biggest) {\n biggest = Math.abs(dirCos[ctr]);\n bigCol = ctr;\n }\n }\n\n switch (bigRow) {\n case 0:\n orient += ('X');\n if (bigCol === 4) {\n orient += (\"YZ\");\n } else {\n orient += (\"ZY\");\n }\n break;\n case 1:\n orient += ('Y');\n if (bigCol === 3) {\n orient += (\"XZ\");\n } else {\n orient += (\"ZX\");\n }\n break;\n case 2:\n orient += ('Z');\n if (bigCol === 3) {\n orient += (\"XY\");\n } else {\n orient += (\"YX\");\n }\n break;\n default:\n break;\n }\n\n switch (bigRow) {\n case 0:\n if (dirCos[bigRow] > 0.0) {\n orient += ('-');\n } else {\n orient += ('+');\n }\n if (bigCol === 4) {\n if (dirCos[bigCol] > 0.0) {\n orient += ('-');\n } else {\n orient += ('+');\n }\n } else {\n if (dirCos[bigCol] > 0.0) {\n orient += ('+');\n } else {\n orient += ('-');\n }\n }\n break;\n case 1:\n if (dirCos[bigRow] > 0.0) {\n orient += ('-');\n } else {\n orient += ('+');\n }\n if (bigCol === 3) {\n if (dirCos[bigCol] > 0.0) {\n orient += ('-');\n } else {\n orient += ('+');\n }\n } else {\n if (dirCos[bigCol] > 0.0) {\n orient += ('+');\n } else {\n orient += ('-');\n }\n }\n break;\n case 2:\n if (dirCos[bigRow] > 0.0) {\n orient += ('+');\n } else {\n orient += ('-');\n }\n //Has to be X or Y so opposite senses\n if (dirCos[bigCol] > 0.0) {\n orient += ('-');\n } else {\n orient += ('+');\n }\n break;\n default:\n break;\n }\n\n if (rowSpacing === 0.0) {\n orient += ('+');\n orientation = orient;\n } else {\n if (swapZ) {\n switch (orient.charAt(2)) {\n case 'X':\n if (rowSpacing > 0.0) {\n orient += ('-');\n } else {\n orient += ('+');\n }\n break;\n case 'Y':\n case 'Z':\n if (rowSpacing > 0.0) {\n orient += ('+');\n } else {\n orient += ('-');\n }\n break;\n default:\n break;\n }\n } else {\n switch (orient.charAt(2)) {\n case 'X':\n if (rowSpacing > 0.0) {\n orient += ('+');\n } else {\n orient += ('-');\n }\n break;\n case 'Y':\n case 'Z':\n if (rowSpacing > 0.0) {\n orient += ('-');\n } else {\n orient += ('+');\n }\n break;\n default:\n break;\n }\n }\n\n orientation = orient;\n }\n\n return orientation;\n};\n\n\n/**\n * Returns true if this image is \"mosaic\".\n * @returns {boolean}\n */\ndaikon.Image.prototype.isMosaic = function () {\n var imageType, labeledAsMosaic = false, canReadAsMosaic, ctr, matSize;\n\n imageType = this.getImageType();\n\n if (imageType !== null) {\n for (ctr = 0; ctr < imageType.length; ctr += 1) {\n if (imageType[ctr].toUpperCase().indexOf(\"MOSAIC\") !== -1) {\n labeledAsMosaic = true;\n break;\n }\n }\n }\n\n matSize = this.getAcquisitionMatrix();\n canReadAsMosaic = (matSize[0] > 0) && ((matSize[0] < this.getRows()) || (matSize[1] < this.getCols()));\n return labeledAsMosaic && canReadAsMosaic;\n};\n\n\n/**\n * Returns true if this image uses palette colors.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isPalette = function () {\n var value = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_PHOTOMETRIC_INTERPRETATION[0], daikon.Tag.TAG_PHOTOMETRIC_INTERPRETATION[1]), 0);\n\n if (value !== null) {\n if (value.toLowerCase().indexOf(\"palette\") !== -1) {\n return true;\n }\n }\n\n return false;\n};\n\n\n\ndaikon.Image.prototype.getMosaicCols = function() {\n return this.getCols() / this.getAcquisitionMatrix()[1];\n};\n\n\n\ndaikon.Image.prototype.getMosaicRows = function() {\n return this.getRows() / this.getAcquisitionMatrix()[0];\n};\n\n\n\ndaikon.Image.prototype.isElscint = function() {\n var tag = this.getTag(daikon.Tag.TAG_DATA_SCALE_ELSCINT[0], daikon.Tag.TAG_DATA_SCALE_ELSCINT[1]);\n return (tag !== undefined);\n};\n\n\n/**\n * Returns true if this image stores compressed data.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isCompressed = function() {\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n var transferSyntax = this.getTransferSyntax();\n if (transferSyntax) {\n if (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG) !== -1) {\n return true;\n } else if (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_RLE) !== -1) {\n return true;\n }\n }\n\n return false;\n};\n\n\n/**\n * Returns true if this image stores JPEG data.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isCompressedJPEG = function() {\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n var transferSyntax = this.getTransferSyntax();\n if (transferSyntax) {\n if (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG) !== -1) {\n return true;\n }\n }\n\n return false;\n};\n\n\n/**\n * Returns true of this image stores lossless JPEG data.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isCompressedJPEGLossless = function() {\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n var transferSyntax = this.getTransferSyntax();\n if (transferSyntax) {\n if ((transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LOSSLESS) !== -1) ||\n (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LOSSLESS_SEL1) !== -1)) {\n return true;\n }\n }\n\n return false;\n};\n\n\n/**\n * Returns true if this image stores baseline JPEG data.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isCompressedJPEGBaseline = function() {\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n var transferSyntax = this.getTransferSyntax();\n if (transferSyntax) {\n if ((transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_BASELINE_8BIT) !== -1) ||\n (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_BASELINE_12BIT) !== -1)) {\n return true;\n }\n }\n\n return false;\n};\n\n\n/**\n * Returns true if this image stores JPEG2000 data.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isCompressedJPEG2000 = function() {\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n var transferSyntax = this.getTransferSyntax();\n if (transferSyntax) {\n if ((transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_2000) !== -1) ||\n (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_2000_LOSSLESS) !== -1)) {\n return true;\n }\n }\n\n return false;\n};\n\n\n/**\n * Returns true if this image stores JPEG-LS data.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isCompressedJPEGLS = function() {\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n var transferSyntax = this.getTransferSyntax();\n if (transferSyntax) {\n if ((transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LS) !== -1) ||\n (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_JPEG_LS_LOSSLESS) !== -1)) {\n return true;\n }\n }\n\n return false;\n};\n\n\n/**\n * Returns true if this image stores RLE data.\n * @returns {boolean}\n */\ndaikon.Image.prototype.isCompressedRLE = function() {\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n var transferSyntax = this.getTransferSyntax();\n if (transferSyntax) {\n if (transferSyntax.indexOf(daikon.Parser.TRANSFER_SYNTAX_COMPRESSION_RLE) !== -1) {\n return true;\n }\n }\n\n return false;\n};\n\n\n/**\n * Returns the number of frames.\n * @returns {number}\n */\ndaikon.Image.prototype.getNumberOfFrames = function () {\n var value = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_NUMBER_OF_FRAMES[0], daikon.Tag.TAG_NUMBER_OF_FRAMES[1]), 0);\n\n if (value !== null) {\n return value;\n }\n\n return 1;\n};\n\n\n/**\n * Returns the number of samples per pixel.\n * @returns {number}\n */\ndaikon.Image.prototype.getNumberOfSamplesPerPixel = function () {\n var value = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SAMPLES_PER_PIXEL[0], daikon.Tag.TAG_SAMPLES_PER_PIXEL[1]), 0);\n\n if (value !== null) {\n return value;\n }\n\n return 1;\n};\n\n\n\ndaikon.Image.prototype.getNumberOfImplicitFrames = function () {\n var pixelData, length, size;\n\n if (this.isCompressed()) {\n return 1;\n }\n\n pixelData = this.getPixelData();\n length = pixelData.offsetEnd - pixelData.offsetValue;\n size = this.getCols() * this.getRows() * (parseInt(this.getBitsAllocated() / 8));\n\n return parseInt(length / size);\n};\n\n\n/**\n * Returns the pixel representation.\n * @returns {number}\n */\ndaikon.Image.prototype.getPixelRepresentation = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_PIXEL_REPRESENTATION[0], daikon.Tag.TAG_PIXEL_REPRESENTATION[1]), 0);\n};\n\n\n/**\n * Returns the photometric interpretation.\n * @returns {string}\n */\ndaikon.Image.prototype.getPhotometricInterpretation = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_PHOTOMETRIC_INTERPRETATION[0], daikon.Tag.TAG_PHOTOMETRIC_INTERPRETATION[1]), 0);\n};\n\n\n/**\n * Returns the patient name.\n * @returns {string}\n */\ndaikon.Image.prototype.getPatientName = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_PATIENT_NAME[0], daikon.Tag.TAG_PATIENT_NAME[1]), 0);\n};\n\n\n/**\n * Returns the patient ID.\n * @returns {string}\n */\ndaikon.Image.prototype.getPatientID = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_PATIENT_ID[0], daikon.Tag.TAG_PATIENT_ID[1]), 0);\n};\n\n\n/**\n * Returns the study time.\n * @returns {string}\n */\ndaikon.Image.prototype.getStudyTime = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_STUDY_TIME[0], daikon.Tag.TAG_STUDY_TIME[1]), 0);\n};\n\n\n/**\n * Returns the transfer syntax.\n * @returns {string}\n */\ndaikon.Image.prototype.getTransferSyntax = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_TRANSFER_SYNTAX[0], daikon.Tag.TAG_TRANSFER_SYNTAX[1]), 0);\n};\n\n\n/**\n * Returns the study date.\n * @returns {string}\n */\ndaikon.Image.prototype.getStudyDate = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_STUDY_DATE[0], daikon.Tag.TAG_STUDY_DATE[1]), 0);\n};\n\n\n/**\n * Returns the planar configuration.\n * @returns {number}\n */\ndaikon.Image.prototype.getPlanarConfig = function () {\n return daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_PLANAR_CONFIG[0], daikon.Tag.TAG_PLANAR_CONFIG[1]), 0);\n};\n\n\n/**\n * Returns all descriptive info for this image.\n * @returns {string}\n */\ndaikon.Image.prototype.getImageDescription = function () {\n var value, string = \"\";\n\n value = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_STUDY_DES[0], daikon.Tag.TAG_STUDY_DES[1]), 0);\n if (value !== null) {\n string += (\" \" + value);\n }\n\n value = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_SERIES_DESCRIPTION[0], daikon.Tag.TAG_SERIES_DESCRIPTION[1]), 0);\n if (value !== null) {\n string += (\" \" + value);\n }\n\n value = daikon.Image.getSingleValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_COMMENTS[0], daikon.Tag.TAG_IMAGE_COMMENTS[1]), 0);\n if (value !== null) {\n string += (\" \" + value);\n }\n\n return string.trim();\n};\n\n\n/**\n * Returns the datatype (e.g., daikon.Image.BYTE_TYPE_INTEGER_UNSIGNED).\n * @returns {number}\n */\ndaikon.Image.prototype.getDataType = function () {\n var interp, dataType;\n\n dataType = this.getPixelRepresentation();\n\n if (dataType === null) {\n return daikon.Image.BYTE_TYPE_UNKNOWN;\n }\n\n interp = this.getPhotometricInterpretation();\n if (interp !== null) {\n if ((interp.trim().indexOf('RGB') !== -1) || (interp.trim().indexOf('YBR') !== -1) ||\n (interp.trim().toLowerCase().indexOf('palette') !== -1)) {\n return daikon.Image.BYTE_TYPE_RGB;\n }\n }\n\n if (dataType === 0) {\n return daikon.Image.BYTE_TYPE_INTEGER_UNSIGNED;\n } else if (dataType === 1) {\n return daikon.Image.BYTE_TYPE_INTEGER;\n } else {\n return daikon.Image.BYTE_TYPE_UNKNOWN;\n }\n};\n\n\n\n// originally from: http://public.kitware.com/pipermail/insight-users/2005-March/012246.html\ndaikon.Image.prototype.getAcquiredSliceDirection = function () {\n var dirCos, rowAxis, colAxis, label;\n\n dirCos = daikon.Image.getValueSafely(this.getTag(daikon.Tag.TAG_IMAGE_ORIENTATION[0], daikon.Tag.TAG_IMAGE_ORIENTATION[1]));\n\n if (!dirCos || (dirCos.length !== 6)) {\n return daikon.Image.SLICE_DIRECTION_UNKNOWN;\n }\n\n rowAxis = daikon.Image.getMajorAxisFromPatientRelativeDirectionCosine(dirCos[0], dirCos[1], dirCos[2]);\n colAxis = daikon.Image.getMajorAxisFromPatientRelativeDirectionCosine(dirCos[3], dirCos[4], dirCos[5]);\n\n if ((rowAxis !== null) && (colAxis !== null)) {\n if (((rowAxis === \"R\") || (rowAxis === \"L\")) && ((colAxis === \"A\") || (colAxis === \"P\"))) {\n label = daikon.Image.SLICE_DIRECTION_AXIAL;\n } else if (((colAxis === \"R\") || (colAxis === \"L\")) && ((rowAxis === \"A\") || (rowAxis === \"P\"))) {\n label = daikon.Image.SLICE_DIRECTION_AXIAL;\n } else if (((rowAxis === \"R\") || (rowAxis === \"L\")) && ((colAxis === \"H\") || (colAxis === \"F\"))) {\n label = daikon.Image.SLICE_DIRECTION_CORONAL;\n } else if (((colAxis === \"R\") || (colAxis === \"L\")) && ((rowAxis === \"H\") || (rowAxis === \"F\"))) {\n label = daikon.Image.SLICE_DIRECTION_CORONAL;\n } else if (((rowAxis === \"A\") || (rowAxis === \"P\")) && ((colAxis === \"H\") || (colAxis === \"F\"))) {\n label = daikon.Image.SLICE_DIRECTION_SAGITTAL;\n } else if (((colAxis === \"A\") || (colAxis === \"P\")) && ((rowAxis === \"H\") || (rowAxis === \"F\"))) {\n label = daikon.Image.SLICE_DIRECTION_SAGITTAL;\n }\n } else {\n label = daikon.Image.SLICE_DIRECTION_OBLIQUE;\n }\n\n return label;\n};\n\n\n\n// returns an array of tags\n/**\n * Returns encapsulated data tags.\n * @returns {daikon.Tag[]}\n */\ndaikon.Image.prototype.getEncapsulatedData = function () {\n var buffer, parser;\n\n daikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\n\n buffer = this.getPixelData().value.buffer;\n parser = new daikon.Parser();\n return parser.parseEncapsulated(new DataView(buffer));\n};\n\n\n\ndaikon.Image.prototype.getJpegs = function () {\n var encapTags, numTags, ctr, currentJpeg, data = [], dataConcat = [];\n\n encapTags = this.getEncapsulatedData();\n\n // organize data as an array of an array of JPEG parts\n if (encapTags) {\n numTags = encapTags.length;\n\n for (ctr = 0; ctr < numTags; ctr += 1) {\n if (daikon.CompressionUtils.isHeaderJPEG(encapTags[ctr].value) ||\n daikon.CompressionUtils.isHeaderJPEG2000(encapTags[ctr].value)) {\n currentJpeg = [];\n currentJpeg.push(encapTags[ctr].value.buffer);\n data.push(currentJpeg);\n } else if (currentJpeg && encapTags[ctr].value) {\n currentJpeg.push(encapTags[ctr].value.buffer);\n }\n }\n }\n\n // concat into an array of full JPEGs\n for (ctr = 0; ctr < data.length; ctr += 1) {\n if (data[ctr].length > 1) {\n dataConcat[ctr] = daikon.Utils.concatArrayBuffers2(data[ctr]);\n } else {\n dataConcat[ctr] = data[ctr][0];\n }\n\n data[ctr] = null;\n }\n\n return dataConcat;\n};\n\n\n\ndaikon.Image.prototype.getRLE = function () {\n var encapTags, numTags, ctr, data = [];\n\n encapTags = this.getEncapsulatedData();\n\n // organize data as an array of an array of JPEG parts\n if (encapTags) {\n numTags = encapTags.length;\n\n // the first sublist item contains offsets, need offsets?\n for (ctr = 1; ctr < numTags; ctr += 1) {\n if (encapTags[ctr].value) {\n data.push(encapTags[ctr].value.buffer);\n }\n }\n }\n\n return data;\n};\n\n\n/**\n * Returns a string of interpreted private data.\n * @returns {string}\n */\ndaikon.Image.prototype.getAllInterpretedPrivateData = function() {\n var ctr, key, tag, str = \"\";\n\n var sorted_keys = Object.keys(this.tags).sort();\n\n for (ctr = 0; ctr < sorted_keys.length; ctr+=1) {\n key = sorted_keys[ctr];\n if (this.tags.hasOwnProperty(key)) {\n tag = this.tags[key];\n if (tag.hasInterpretedPrivateData()) {\n str += tag.value;\n }\n }\n }\n\n return str;\n};\n\n\n/**\n * Returns a string representation of this image.\n * @returns {string}\n */\ndaikon.Image.prototype.toString = function () {\n var ctr, tag, key, str = \"\";\n\n var sorted_keys = Object.keys(this.tags).sort();\n\n for (ctr = 0; ctr < sorted_keys.length; ctr+=1) {\n key = sorted_keys[ctr];\n if (this.tags.hasOwnProperty(key)) {\n tag = this.tags[key];\n str += (tag.toHTMLString() + \"
\");\n }\n }\n\n str = str.replace(/\\n\\s*\\n/g, '\\n'); // replace mutli-newlines with single newline\n str = str.replace(/(?:\\r\\n|\\r|\\n)/g, '
'); // replace newlines with
\n\n return str;\n};\n\n\n\ndaikon.Image.prototype.getPalleteValues = function (tagID) {\n /*jslint bitwise: true */\n\n var valsBig, valsLittle, value, numVals, ctr, valsBigMax, valsBigMin, valsLittleMax, valsLittleMin, valsBigDiff,\n valsLittleDiff;\n\n valsBig = null;\n valsLittle = null;\n\n value = daikon.Image.getValueSafely(this.getTag(tagID[0], tagID[1]));\n\n if (value !== null) {\n numVals = value.buffer.byteLength / 2;\n valsBig = [];\n valsLittle = [];\n\n for (ctr = 0; ctr < numVals; ctr += 1) {\n valsBig[ctr] = (value.getUint16(ctr * 2, false) & 0xFFFF);\n valsLittle[ctr] = (value.getUint16(ctr * 2, true) & 0xFFFF);\n }\n\n valsBigMax = Math.max.apply(Math, valsBig);\n valsBigMin = Math.min.apply(Math, valsBig);\n valsLittleMax = Math.max.apply(Math, valsLittle);\n valsLittleMin = Math.min.apply(Math, valsLittle);\n valsBigDiff = Math.abs(valsBigMax - valsBigMin);\n valsLittleDiff = Math.abs(valsLittleMax - valsLittleMin);\n\n if (valsBigDiff < valsLittleDiff) {\n return this.scalePalette(valsBig);\n } else {\n return this.scalePalette(valsLittle);\n }\n }\n\n return null;\n};\n\n\n\ndaikon.Image.prototype.scalePalette = function (pal) {\n var min, max, ctr, slope, intercept;\n\n max = Math.max.apply(Math, pal);\n min = Math.min.apply(Math, pal);\n\n if ((max > 255) || (min < 0)) {\n slope = 255.0 / (max - min);\n intercept = min;\n\n for (ctr = 0; ctr < pal.length; ctr += 1) {\n pal[ctr] = parseInt(Math.round((pal[ctr] - intercept) * slope));\n }\n }\n\n return pal;\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.Image;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/image.js\n// module id = 7\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\n\n\n/*** Constructor ***/\ndaikon.OrderedMapIterator = daikon.OrderedMapIterator || function (orderedMap) {\n this.orderedMap = orderedMap;\n this.index = 0;\n};\n\n\n/*** Prototype Methods ***/\n\ndaikon.OrderedMapIterator.prototype.hasNext = function() {\n return (this.index < this.orderedMap.orderedKeys.length);\n};\n\n\n\ndaikon.OrderedMapIterator.prototype.next = function() {\n var item = this.orderedMap.get(this.orderedMap.orderedKeys[this.index]);\n this.index += 1;\n return item;\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.OrderedMapIterator;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/iterator.js\n// module id = 8\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.Utils = daikon.Utils || ((typeof require !== 'undefined') ? require('./utilities.js') : null);\ndaikon.Dictionary = daikon.Dictionary || ((typeof require !== 'undefined') ? require('./dictionary.js') : null);\ndaikon.Siemens = daikon.Siemens || ((typeof require !== 'undefined') ? require('./siemens.js') : null);\n\n\n/*** Constructor ***/\n\n/**\n * The Tag constuctor.\n * @property {number} group\n * @property {number} element\n * @property {string} vr\n * @property {number} offsetStart\n * @property {number} offsetValue\n * @property {number} offsetEnd\n * @property {boolean} sublist - true if this tag is a sublist\n * @property {number|number[]|string|string[]|object} value\n * @type {Function}\n */\ndaikon.Tag = daikon.Tag || function (group, element, vr, value, offsetStart, offsetValue, offsetEnd, littleEndian) {\n this.group = group;\n this.element = element;\n this.vr = vr;\n this.offsetStart = offsetStart;\n this.offsetValue = offsetValue;\n this.offsetEnd = offsetEnd;\n this.sublist = false;\n this.preformatted = false;\n this.id = daikon.Tag.createId(group, element);\n\n if (value instanceof Array) {\n this.value = value;\n this.sublist = true;\n } else if (value !== null) {\n var dv = new DataView(value);\n this.value = daikon.Tag.convertValue(vr, dv, littleEndian);\n\n if ((this.value === dv) && this.isPrivateData()) {\n this.value = daikon.Tag.convertPrivateValue(group, element, dv);\n this.preformatted = (this.value !== dv);\n }\n } else {\n this.value = null;\n }\n};\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.Tag.PRIVATE_DATA_READERS = [daikon.Siemens];\n\ndaikon.Tag.VR_AE_MAX_LENGTH = 16;\ndaikon.Tag.VR_AS_MAX_LENGTH = 4;\ndaikon.Tag.VR_AT_MAX_LENGTH = 4;\ndaikon.Tag.VR_CS_MAX_LENGTH = 16;\ndaikon.Tag.VR_DA_MAX_LENGTH = 8;\ndaikon.Tag.VR_DS_MAX_LENGTH = 16;\ndaikon.Tag.VR_DT_MAX_LENGTH = 26;\ndaikon.Tag.VR_FL_MAX_LENGTH = 4;\ndaikon.Tag.VR_FD_MAX_LENGTH = 8;\ndaikon.Tag.VR_IS_MAX_LENGTH = 12;\ndaikon.Tag.VR_LO_MAX_LENGTH = 64;\ndaikon.Tag.VR_LT_MAX_LENGTH = 10240;\ndaikon.Tag.VR_OB_MAX_LENGTH = -1;\ndaikon.Tag.VR_OD_MAX_LENGTH = -1;\ndaikon.Tag.VR_OF_MAX_LENGTH = -1;\ndaikon.Tag.VR_OW_MAX_LENGTH = -1;\ndaikon.Tag.VR_PN_MAX_LENGTH = 64 * 5;\ndaikon.Tag.VR_SH_MAX_LENGTH = 16;\ndaikon.Tag.VR_SL_MAX_LENGTH = 4;\ndaikon.Tag.VR_SS_MAX_LENGTH = 2;\ndaikon.Tag.VR_ST_MAX_LENGTH = 1024;\ndaikon.Tag.VR_TM_MAX_LENGTH = 16;\ndaikon.Tag.VR_UI_MAX_LENGTH = 64;\ndaikon.Tag.VR_UL_MAX_LENGTH = 4;\ndaikon.Tag.VR_UN_MAX_LENGTH = -1;\ndaikon.Tag.VR_US_MAX_LENGTH = 2;\ndaikon.Tag.VR_UT_MAX_LENGTH = -1;\n\n// metadata\ndaikon.Tag.TAG_TRANSFER_SYNTAX = [0x0002, 0x0010];\ndaikon.Tag.TAG_META_LENGTH = [0x0002, 0x0000];\n\n// sublists\ndaikon.Tag.TAG_SUBLIST_ITEM = [0xFFFE, 0xE000];\ndaikon.Tag.TAG_SUBLIST_ITEM_DELIM = [0xFFFE, 0xE00D];\ndaikon.Tag.TAG_SUBLIST_SEQ_DELIM = [0xFFFE, 0xE0DD];\n\n// image dims\ndaikon.Tag.TAG_ROWS = [0x0028, 0x0010];\ndaikon.Tag.TAG_COLS = [0x0028, 0x0011];\ndaikon.Tag.TAG_ACQUISITION_MATRIX = [0x0018, 0x1310];\ndaikon.Tag.TAG_NUMBER_OF_FRAMES = [0x0028, 0x0008];\ndaikon.Tag.TAG_NUMBER_TEMPORAL_POSITIONS = [0x0020, 0x0105];\n\n// voxel dims\ndaikon.Tag.TAG_PIXEL_SPACING = [0x0028, 0x0030];\ndaikon.Tag.TAG_SLICE_THICKNESS = [0x0018, 0x0050];\ndaikon.Tag.TAG_SLICE_GAP = [0x0018, 0x0088];\ndaikon.Tag.TAG_TR = [0x0018, 0x0080];\ndaikon.Tag.TAG_FRAME_TIME = [0x0018, 0x1063];\n\n// datatype\ndaikon.Tag.TAG_BITS_ALLOCATED = [0x0028, 0x0100];\ndaikon.Tag.TAG_BITS_STORED = [0x0028, 0x0101];\ndaikon.Tag.TAG_PIXEL_REPRESENTATION = [0x0028, 0x0103];\ndaikon.Tag.TAG_HIGH_BIT = [0x0028, 0x0102];\ndaikon.Tag.TAG_PHOTOMETRIC_INTERPRETATION = [0x0028, 0x0004];\ndaikon.Tag.TAG_SAMPLES_PER_PIXEL = [0x0028, 0x0002];\ndaikon.Tag.TAG_PLANAR_CONFIG = [0x0028, 0x0006];\ndaikon.Tag.TAG_PALETTE_RED = [0x0028, 0x1201];\ndaikon.Tag.TAG_PALETTE_GREEN = [0x0028, 0x1202];\ndaikon.Tag.TAG_PALETTE_BLUE = [0x0028, 0x1203];\n\n// data scale\ndaikon.Tag.TAG_DATA_SCALE_SLOPE = [0x0028, 0x1053];\ndaikon.Tag.TAG_DATA_SCALE_INTERCEPT = [0x0028, 0x1052];\ndaikon.Tag.TAG_DATA_SCALE_ELSCINT = [0x0207, 0x101F];\ndaikon.Tag.TAG_PIXEL_BANDWIDTH = [0x0018, 0x0095];\n\n// range\ndaikon.Tag.TAG_IMAGE_MIN = [0x0028, 0x0106];\ndaikon.Tag.TAG_IMAGE_MAX = [0x0028, 0x0107];\ndaikon.Tag.TAG_WINDOW_CENTER = [0x0028, 0x1050];\ndaikon.Tag.TAG_WINDOW_WIDTH = [0x0028, 0x1051];\n\n// descriptors\ndaikon.Tag.TAG_PATIENT_NAME = [0x0010, 0x0010];\ndaikon.Tag.TAG_PATIENT_ID = [0x0010, 0x0020];\ndaikon.Tag.TAG_STUDY_DATE = [0x0008, 0x0020];\ndaikon.Tag.TAG_STUDY_TIME = [0x0008, 0x0030];\ndaikon.Tag.TAG_STUDY_DES = [0x0008, 0x1030];\ndaikon.Tag.TAG_IMAGE_TYPE = [0x0008, 0x0008];\ndaikon.Tag.TAG_IMAGE_COMMENTS = [0x0020, 0x4000];\ndaikon.Tag.TAG_SEQUENCE_NAME = [0x0018, 0x0024];\ndaikon.Tag.TAG_MODALITY = [0x0008, 0x0060];\n\n// session ID\ndaikon.Tag.TAG_FRAME_OF_REF_UID = [0x0020, 0x0052];\n\n// study ID\ndaikon.Tag.TAG_STUDY_UID = [0x0020, 0x000D];\n\n// volume ID\ndaikon.Tag.TAG_SERIES_DESCRIPTION = [0x0008, 0x103E];\ndaikon.Tag.TAG_SERIES_INSTANCE_UID = [0x0020, 0x000E];\ndaikon.Tag.TAG_SERIES_NUMBER = [0x0020, 0x0011];\ndaikon.Tag.TAG_ECHO_NUMBER = [0x0018, 0x0086];\ndaikon.Tag.TAG_TEMPORAL_POSITION = [0x0020, 0x0100];\n\n// slice ID\ndaikon.Tag.TAG_IMAGE_NUM = [0x0020, 0x0013];\ndaikon.Tag.TAG_SLICE_LOCATION = [0x0020, 0x1041];\n\n// orientation\ndaikon.Tag.TAG_IMAGE_ORIENTATION = [0x0020, 0x0037];\ndaikon.Tag.TAG_IMAGE_POSITION = [0x0020, 0x0032];\ndaikon.Tag.TAG_SLICE_LOCATION_VECTOR = [0x0018, 0x2005];\n\n// LUT shape\ndaikon.Tag.TAG_LUT_SHAPE = [0x2050, 0x0020];\n\n// pixel data\ndaikon.Tag.TAG_PIXEL_DATA = [0x7FE0, 0x0010];\n\n\n/*** Static methods ***/\n\n/**\n * Create an ID string based on the specified group and element\n * @param {number} group\n * @param {number} element\n * @returns {string}\n */\ndaikon.Tag.createId = function (group, element) {\n var groupStr = daikon.Utils.dec2hex(group),\n elemStr = daikon.Utils.dec2hex(element);\n return groupStr + elemStr;\n};\n\n\n\ndaikon.Tag.getUnsignedInteger16 = function (rawData, littleEndian) {\n var data, mul, ctr;\n\n mul = rawData.byteLength / 2;\n data = [];\n for (ctr = 0; ctr < mul; ctr += 1) {\n data[ctr] = rawData.getUint16(ctr * 2, littleEndian);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getSignedInteger16 = function (rawData, littleEndian) {\n var data, mul, ctr;\n\n mul = rawData.byteLength / 2;\n data = [];\n for (ctr = 0; ctr < mul; ctr += 1) {\n data[ctr] = rawData.getInt16(ctr * 2, littleEndian);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getFloat32 = function (rawData, littleEndian) {\n var data, mul, ctr;\n\n mul = rawData.byteLength / 4;\n data = [];\n for (ctr = 0; ctr < mul; ctr += 1) {\n data[ctr] = rawData.getFloat32(ctr * 4, littleEndian);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getSignedInteger32 = function (rawData, littleEndian) {\n var data, mul, ctr;\n\n mul = rawData.byteLength / 4;\n data = [];\n for (ctr = 0; ctr < mul; ctr += 1) {\n data[ctr] = rawData.getInt32(ctr * 4, littleEndian);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getUnsignedInteger32 = function (rawData, littleEndian) {\n var data, mul, ctr;\n\n mul = rawData.byteLength / 4;\n data = [];\n for (ctr = 0; ctr < mul; ctr += 1) {\n data[ctr] = rawData.getUint32(ctr * 4, littleEndian);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getFloat64 = function (rawData, littleEndian) {\n var data, mul, ctr;\n\n if (rawData.byteLength < 8) {\n return 0;\n }\n\n mul = rawData.byteLength / 8;\n data = [];\n for (ctr = 0; ctr < mul; ctr += 1) {\n data[ctr] = rawData.getFloat64(ctr * 8, littleEndian);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getDoubleElscint = function (rawData) {\n var data = [], reordered = [], ctr;\n\n for (ctr = 0; ctr < 8; ctr += 1) {\n data[ctr] = rawData.getUint8(ctr);\n }\n\n reordered[0] = data[3];\n reordered[1] = data[2];\n reordered[2] = data[1];\n reordered[3] = data[0];\n reordered[4] = data[7];\n reordered[5] = data[6];\n reordered[6] = data[5];\n reordered[7] = data[4];\n\n data = [daikon.Utils.bytesToDouble(reordered)];\n\n return data;\n};\n\n\n\ndaikon.Tag.getFixedLengthStringValue = function (rawData, maxLength) {\n var data, mul, ctr;\n\n mul = Math.floor(rawData.byteLength / maxLength);\n data = [];\n for (ctr = 0; ctr < mul; ctr += 1) {\n data[ctr] = daikon.Utils.getStringAt(rawData, ctr * maxLength, maxLength);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getStringValue = function (rawData) {\n var data = daikon.Utils.getStringAt(rawData, 0, rawData.byteLength).split('\\\\'), ctr;\n\n for (ctr = 0; ctr < data.length; ctr += 1) {\n data[ctr] = daikon.Utils.trim(data[ctr]);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getDateStringValue = function (rawData) {\n var dotFormat = (daikon.Tag.getSingleStringValue(rawData)[0].indexOf('.') !== -1),\n stringData = daikon.Tag.getFixedLengthStringValue(rawData, dotFormat ? 10 : daikon.Tag.VR_DA_MAX_LENGTH),\n parts = null,\n data = [],\n ctr;\n\n for (ctr = 0; ctr < stringData.length; ctr += 1) {\n if (dotFormat) {\n parts = stringData[ctr].split('.');\n if (parts.length === 3) {\n data[ctr] = new Date(daikon.Utils.safeParseInt(parts[0]),\n daikon.Utils.safeParseInt(parts[1]) - 1,\n daikon.Utils.safeParseInt(parts[2]));\n } else {\n data[ctr] = new Date();\n }\n } else if (stringData[ctr].length === 8) {\n data[ctr] = new Date(daikon.Utils.safeParseInt(stringData[ctr].substring(0, 4)),\n daikon.Utils.safeParseInt(stringData[ctr].substring(4, 6)) - 1,\n daikon.Utils.safeParseInt(stringData[ctr].substring(6, 8)));\n } else {\n data[ctr] = Date.parse(stringData[ctr]);\n }\n\n if (!daikon.Utils.isValidDate(data[ctr])) {\n data[ctr] = stringData[ctr];\n }\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getDateTimeStringValue = function (rawData) {\n var stringData = daikon.Tag.getStringValue(rawData),\n data = [],\n ctr,\n year = null,\n month = null,\n date = null,\n hours = null,\n minutes = null,\n seconds = null;\n\n for (ctr = 0; ctr < stringData.length; ctr += 1) {\n if (stringData[ctr].length >= 4) {\n year = parseInt(stringData[ctr].substring(0, 4), 10); // required\n\n if (stringData[ctr].length >= 6) {\n month = daikon.Utils.safeParseInt(stringData[ctr].substring(4, 6)) - 1;\n }\n\n if (stringData[ctr].length >= 8) {\n date = daikon.Utils.safeParseInt(stringData[ctr].substring(6, 8));\n }\n\n if (stringData[ctr].length >= 10) {\n hours = daikon.Utils.safeParseInt(stringData[ctr].substring(8, 10));\n }\n\n if (stringData[ctr].length >= 12) {\n minutes = daikon.Utils.safeParseInt(stringData[ctr].substring(10, 12));\n }\n\n if (stringData[ctr].length >= 14) {\n seconds = daikon.Utils.safeParseInt(stringData[ctr].substring(12, 14));\n }\n\n data[ctr] = new Date(year, month, date, hours, minutes, seconds);\n } else {\n data[ctr] = Date.parse(stringData[ctr]);\n }\n\n if (!daikon.Utils.isValidDate(data[ctr])) {\n data[ctr] = stringData[ctr];\n }\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getTimeStringValue = function (rawData, ms) {\n var stringData = daikon.Tag.getStringValue(rawData),\n data = [];\n\n if (ms) {\n var parts = null,\n ctr,\n hours = 0,\n minutes = 0,\n seconds = 0;\n\n for (ctr = 0; ctr < stringData.length; ctr += 1) {\n if (stringData[ctr].indexOf(':') !== -1) {\n parts = stringData[ctr].split(':');\n hours = daikon.Utils.safeParseInt(parts[0]);\n\n if (parts.length > 1) {\n minutes = daikon.Utils.safeParseInt(parts[1]);\n }\n\n if (parts.length > 2) {\n seconds = daikon.Utils.safeParseFloat(parts[2]);\n }\n } else {\n if (stringData[ctr].length >= 2) {\n hours = daikon.Utils.safeParseInt(stringData[ctr].substring(0, 2));\n }\n\n if (stringData[ctr].length >= 4) {\n minutes = daikon.Utils.safeParseInt(stringData[ctr].substring(2, 4));\n }\n\n if (stringData[ctr].length >= 6) {\n seconds = daikon.Utils.safeParseFloat(stringData[ctr].substring(4));\n }\n }\n\n data[ctr] = Math.round((hours * 60 * 60 * 1000) + (minutes * 60 * 1000) + (seconds * 1000));\n }\n\n return data;\n }\n\n\n return stringData;\n};\n\n\n\ndaikon.Tag.getDoubleStringValue = function (rawData) {\n var stringData = daikon.Tag.getStringValue(rawData),\n data = [],\n ctr;\n\n for (ctr = 0; ctr < stringData.length; ctr += 1) {\n data[ctr] = parseFloat(stringData[ctr]);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getIntegerStringValue = function (rawData) {\n var stringData = daikon.Tag.getStringValue(rawData),\n data = [],\n ctr;\n\n for (ctr = 0; ctr < stringData.length; ctr += 1) {\n data[ctr] = parseInt(stringData[ctr], 10);\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.getSingleStringValue = function (rawData) {\n return [daikon.Utils.trim(daikon.Utils.getStringAt(rawData, 0, rawData.byteLength))];\n};\n\n\n\ndaikon.Tag.getPersonNameStringValue = function (rawData) {\n var stringData = daikon.Tag.getStringValue(rawData),\n data = [],\n ctr;\n\n for (ctr = 0; ctr < stringData.length; ctr += 1) {\n data[ctr] = stringData[ctr].replace('^', ' ');\n }\n\n return data;\n};\n\n\n\ndaikon.Tag.convertPrivateValue = function (group, element, rawData) {\n var ctr, privReader;\n\n for (ctr = 0; ctr < daikon.Tag.PRIVATE_DATA_READERS.length; ctr += 1) {\n privReader = new daikon.Tag.PRIVATE_DATA_READERS[ctr](rawData.buffer);\n if (privReader.canRead(group, element)) {\n return privReader.readHeader();\n }\n }\n\n return rawData;\n};\n\n\n\ndaikon.Tag.convertValue = function (vr, rawData, littleEndian) {\n var data = null;\n\n if (vr === 'AE') {\n data = daikon.Tag.getSingleStringValue(rawData, daikon.Tag.VR_AE_MAX_LENGTH);\n } else if (vr === 'AS') {\n data = daikon.Tag.getFixedLengthStringValue(rawData, daikon.Tag.VR_AS_MAX_LENGTH);\n } else if (vr === 'AT') {\n data = daikon.Tag.getUnsignedInteger16(rawData, littleEndian);\n } else if (vr === 'CS') {\n data = daikon.Tag.getStringValue(rawData);\n } else if (vr === 'DA') {\n data = daikon.Tag.getDateStringValue(rawData);\n } else if (vr === 'DS') {\n data = daikon.Tag.getDoubleStringValue(rawData);\n } else if (vr === 'DT') {\n data = daikon.Tag.getDateTimeStringValue(rawData);\n } else if (vr === 'FL') {\n data = daikon.Tag.getFloat32(rawData, littleEndian);\n } else if (vr === 'FD') {\n data = daikon.Tag.getFloat64(rawData, littleEndian);\n } else if (vr === 'FE') { // special Elscint double (see dictionary)\n data = daikon.Tag.getDoubleElscint(rawData, littleEndian);\n } else if (vr === 'IS') {\n data = daikon.Tag.getIntegerStringValue(rawData);\n } else if (vr === 'LO') {\n data = daikon.Tag.getStringValue(rawData);\n } else if (vr === 'LT') {\n data = daikon.Tag.getSingleStringValue(rawData);\n } else if (vr === 'OB') {\n data = rawData;\n } else if (vr === 'OD') {\n data = rawData;\n } else if (vr === 'OF') {\n data = rawData;\n } else if (vr === 'OW') {\n data = rawData;\n } else if (vr === 'PN') {\n data = daikon.Tag.getPersonNameStringValue(rawData);\n } else if (vr === 'SH') {\n data = daikon.Tag.getStringValue(rawData);\n } else if (vr === 'SL') {\n data = daikon.Tag.getSignedInteger32(rawData, littleEndian);\n } else if (vr === 'SQ') {\n data = null;\n } else if (vr === 'SS') {\n data = daikon.Tag.getSignedInteger16(rawData, littleEndian);\n } else if (vr === 'ST') {\n data = daikon.Tag.getSingleStringValue(rawData);\n } else if (vr === 'TM') {\n data = daikon.Tag.getTimeStringValue(rawData);\n } else if (vr === 'UI') {\n data = daikon.Tag.getStringValue(rawData);\n } else if (vr === 'UL') {\n data = daikon.Tag.getUnsignedInteger32(rawData, littleEndian);\n } else if (vr === 'UN') {\n data = rawData;\n } else if (vr === 'US') {\n data = daikon.Tag.getUnsignedInteger16(rawData, littleEndian);\n } else if (vr === 'UT') {\n data = daikon.Tag.getSingleStringValue(rawData);\n }\n\n return data;\n};\n\n\n/*** Prototype Methods ***/\n\n/**\n * Returns a string representation of this tag.\n * @param {number} [level] - the indentation level\n * @param {boolean} [html]\n * @returns {string}\n */\ndaikon.Tag.prototype.toString = function (level, html) {\n var valueStr = '',\n ctr,\n groupStr = daikon.Utils.dec2hex(this.group),\n elemStr = daikon.Utils.dec2hex(this.element),\n tagStr = '(' + groupStr + ',' + elemStr + ')',\n des = '',\n padding;\n\n if (level === undefined) {\n level = 0;\n }\n\n padding = \"\";\n for (ctr = 0; ctr < level; ctr += 1) {\n if (html) {\n padding += \"  \";\n } else {\n padding += \" \";\n }\n }\n\n if (this.sublist) {\n for (ctr = 0; ctr < this.value.length; ctr += 1) {\n valueStr += ('\\n' + (this.value[ctr].toString(level + 1, html)));\n }\n } else if (this.vr === 'SQ') {\n valueStr = '';\n } else if (this.isPixelData()) {\n valueStr = '';\n } else if (!this.value) {\n valueStr = '';\n } else {\n if (html && this.preformatted) {\n valueStr = \"[
\"+this.value +\"
]\";\n } else {\n valueStr = '[' + this.value + ']';\n }\n }\n\n if (this.isSublistItem()) {\n tagStr = \"Sequence Item\";\n } else if (this.isSublistItemDelim()) {\n tagStr = \"Sequence Item Delimiter\";\n } else if (this.isSequenceDelim()) {\n tagStr = \"Sequence Delimiter\";\n } else if (this.isPixelData()) {\n tagStr = \"Pixel Data\";\n } else {\n des = daikon.Utils.convertCamcelCaseToTitleCase(daikon.Dictionary.getDescription(this.group, this.element));\n }\n\n if (html) {\n return padding + \"\" + tagStr + \"   \" + des + '   ' + valueStr;\n } else {\n return padding + ' ' + tagStr + ' ' + des + ' ' + valueStr;\n }\n};\n\n\n/**\n * Returns an HTML string representation of this tag.\n * @param {number} level - the indentation level\n * @returns {string}\n */\ndaikon.Tag.prototype.toHTMLString = function (level) {\n return this.toString(level, true);\n};\n\n\n/**\n * Returns true if this is the transform syntax tag.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.isTransformSyntax = function () {\n return (this.group === daikon.Tag.TAG_TRANSFER_SYNTAX[0]) && (this.element === daikon.Tag.TAG_TRANSFER_SYNTAX[1]);\n};\n\n\n/**\n * Returns true if this is the pixel data tag.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.isPixelData = function () {\n return (this.group === daikon.Tag.TAG_PIXEL_DATA[0]) && (this.element === daikon.Tag.TAG_PIXEL_DATA[1]);\n};\n\n\n/**\n * Returns true if this tag contains private data.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.isPrivateData = function () {\n /*jslint bitwise: true */\n return ((this.group & 1) === 1);\n};\n\n\n/**\n * Returns true if this tag contains private data that can be read.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.hasInterpretedPrivateData = function () {\n return this.isPrivateData() && daikon.Utils.isString(this.value);\n};\n\n\n/**\n * Returns true if this tag is a sublist item.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.isSublistItem = function () {\n return (this.group === daikon.Tag.TAG_SUBLIST_ITEM[0]) && (this.element === daikon.Tag.TAG_SUBLIST_ITEM[1]);\n};\n\n\n/**\n * Returns true if this tag is a sublist item delimiter.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.isSublistItemDelim = function () {\n return (this.group === daikon.Tag.TAG_SUBLIST_ITEM_DELIM[0]) && (this.element === daikon.Tag.TAG_SUBLIST_ITEM_DELIM[1]);\n};\n\n\n/**\n * Returns true if this tag is a sequence delimiter.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.isSequenceDelim = function () {\n return (this.group === daikon.Tag.TAG_SUBLIST_SEQ_DELIM[0]) && (this.element === daikon.Tag.TAG_SUBLIST_SEQ_DELIM[1]);\n};\n\n\n/**\n * Returns true if this is a meta length tag.\n * @returns {boolean}\n */\ndaikon.Tag.prototype.isMetaLength = function () {\n return (this.group === daikon.Tag.TAG_META_LENGTH[0]) && (this.element === daikon.Tag.TAG_META_LENGTH[1]);\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.Tag;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/tag.js\n// module id = 9\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/messages.js\n// module id = 10\n// module chunks = 0","module.exports = girder_lib;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_lib\"\n// module id = 11\n// module chunks = 0","/*! CharLS.js - v2.0.1 - 2016-06-08 | (c) 2016 Chris Hafey | https://github.com/chafey/charls */\n\n/*!\n Copyright (c) 2007-2010, Jan de Vaan\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n * Neither the name of my employer, nor the names of its contributors may be\n used to endorse or promote products derived from this software without\n specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\n ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar CharLS = function(Module) {\n Module = Module || {};\n\nvar Module;if(!Module)Module=(typeof CharLS!==\"undefined\"?CharLS:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window===\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module[\"print\"])Module[\"print\"]=function print(x){process[\"stdout\"].write(x+\"\\n\")};if(!Module[\"printErr\"])Module[\"printErr\"]=function printErr(x){process[\"stderr\"].write(x+\"\\n\")};var nodeFS=require(\"fs\");var nodePath=require(\"path\");Module[\"read\"]=function read(filename,binary){filename=nodePath[\"normalize\"](filename);var ret=nodeFS[\"readFileSync\"](filename);if(!ret&&filename!=nodePath[\"resolve\"](filename)){filename=path.join(__dirname,\"..\",\"src\",filename);ret=nodeFS[\"readFileSync\"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module[\"load\"]=function load(f){globalEval(read(f))};if(!Module[\"thisProgram\"]){if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}else{Module[\"thisProgram\"]=\"unknown-program\"}}Module[\"arguments\"]=process[\"argv\"].slice(2);if(typeof module!==\"undefined\"){module[\"exports\"]=Module}process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(!Module[\"print\"])Module[\"print\"]=print;if(typeof printErr!=\"undefined\")Module[\"printErr\"]=printErr;if(typeof read!=\"undefined\"){Module[\"read\"]=read}else{Module[\"read\"]=function read(){throw\"no read() available (jsc?)\"}}Module[\"readBinary\"]=function readBinary(f){if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}var data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module[\"read\"]=function read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof console!==\"undefined\"){if(!Module[\"print\"])Module[\"print\"]=function print(x){console.log(x)};if(!Module[\"printErr\"])Module[\"printErr\"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module[\"print\"])Module[\"print\"]=TRY_USE_DUMP&&typeof dump!==\"undefined\"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module[\"load\"]=importScripts}if(typeof Module[\"setWindowTitle\"]===\"undefined\"){Module[\"setWindowTitle\"]=(function(title){document.title=title})}}else{throw\"Unknown runtime environment. Where are we?\"}function globalEval(x){eval.call(null,x)}if(!Module[\"load\"]&&Module[\"read\"]){Module[\"load\"]=function load(f){globalEval(Module[\"read\"](f))}}if(!Module[\"print\"]){Module[\"print\"]=(function(){})}if(!Module[\"printErr\"]){Module[\"printErr\"]=Module[\"print\"]}if(!Module[\"arguments\"]){Module[\"arguments\"]=[]}if(!Module[\"thisProgram\"]){Module[\"thisProgram\"]=\"./this.program\"}Module.print=Module[\"print\"];Module.printErr=Module[\"printErr\"];Module[\"preRun\"]=[];Module[\"postRun\"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(type[type.length-1]===\"*\"){return Runtime.QUANTUM_SIZE}else if(type[0]===\"i\"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type===\"double\"||type===\"i64\"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type==\"i64\"||type==\"double\"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module[\"dynCall_\"+sig].apply(null,args)}else{return Module[\"dynCall_\"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module[\"Runtime\"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}var globalScope=this;function getCFunc(ident){var func=Module[\"_\"+ident];if(!func){try{func=eval(\"_\"+ident)}catch(e){}}assert(func,\"Cannot call unknown function \"+ident+\" (perhaps LLVM optimizations or closure removed it?)\");return func}var cwrap,ccall;((function(){var JSfuncs={\"stackSave\":(function(){Runtime.stackSave()}),\"stackRestore\":(function(){Runtime.stackRestore()}),\"arrayToC\":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),\"stringToC\":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={\"string\":JSfuncs[\"stringToC\"],\"array\":JSfuncs[\"arrayToC\"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case\"i8\":HEAP8[ptr>>0]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;default:abort(\"invalid type for setValue: \"+type)}}Module[\"setValue\"]=setValue;function getValue(ptr,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":return HEAP8[ptr>>0];case\"i8\":return HEAP8[ptr>>0];case\"i16\":return HEAP16[ptr>>1];case\"i32\":return HEAP32[ptr>>2];case\"i64\":return HEAP32[ptr>>2];case\"float\":return HEAPF32[ptr>>2];case\"double\":return HEAPF64[ptr>>3];default:abort(\"invalid type for setValue: \"+type)}return null}Module[\"getValue\"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module[\"ALLOC_NORMAL\"]=ALLOC_NORMAL;Module[\"ALLOC_STACK\"]=ALLOC_STACK;Module[\"ALLOC_STATIC\"]=ALLOC_STATIC;Module[\"ALLOC_DYNAMIC\"]=ALLOC_DYNAMIC;Module[\"ALLOC_NONE\"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab===\"number\"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types===\"string\"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType===\"i8\"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module[\"UTF8ToString\"](ptr)}Module[\"Pointer_stringify\"]=Pointer_stringify;function AsciiToString(ptr){var str=\"\";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module[\"AsciiToString\"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module[\"stringToAscii\"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module[\"UTF8ArrayToString\"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module[\"UTF8ToString\"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module[\"stringToUTF8Array\"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module[\"stringToUTF8\"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module[\"lengthBytesUTF8\"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str=\"\";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module[\"UTF16ToString\"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module[\"stringToUTF16\"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module[\"lengthBytesUTF16\"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str=\"\";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module[\"UTF32ToString\"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module[\"stringToUTF32\"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module[\"lengthBytesUTF32\"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module[\"___cxa_demangle\"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module[\"___cxa_demangle\"](buf,0,0,status);if(getValue(status,\"i32\")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={\"v\":\"void\",\"b\":\"bool\",\"c\":\"char\",\"s\":\"short\",\"i\":\"int\",\"l\":\"long\",\"f\":\"float\",\"d\":\"double\",\"w\":\"wchar_t\",\"a\":\"signed char\",\"h\":\"unsigned char\",\"t\":\"unsigned short\",\"j\":\"unsigned int\",\"m\":\"unsigned long\",\"x\":\"long long\",\"y\":\"unsigned long long\",\"z\":\"...\"};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre=\"\";for(var a=0;a\"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case\"P\":list.push(parse(true,1,true)[0]+\"*\");break;case\"R\":list.push(parse(true,1,true)[0]+\"&\");break;case\"L\":{i++;var end=func.indexOf(\"E\",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case\"A\":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!==\"_\")throw\"?\";i++;list.push(parse(true,1,true)[0]+\" [\"+size+\"]\");break};case\"E\":break paramLoop;default:ret+=\"?\"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]===\"void\")list=[];if(rawList){if(ret){list.push(ret+\"?\")}return list}else{return ret+flushList()}}var parsed=func;try{if(func==\"Object._main\"||func==\"_main\"){return\"main()\"}if(typeof func===\"number\")func=Pointer_stringify(func);if(func[0]!==\"_\")return func;if(func[1]!==\"_\")return func;if(func[2]!==\"Z\")return func;switch(func[3]){case\"n\":return\"operator new()\";case\"d\":return\"operator delete()\"}parsed=parse()}catch(e){parsed+=\"?\"}if(parsed.indexOf(\"?\")>=0&&!hasLibcxxabi){Runtime.warnOnce(\"warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling\")}return parsed}function demangleAll(text){return text.replace(/__Z[\\w\\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+\" [\"+y+\"]\"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return\"(no stack trace available)\"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module[\"stackTrace\"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){var OLD_TOTAL_MEMORY=TOTAL_MEMORY;var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;try{if(ArrayBuffer.transfer){buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY)}else{var oldHEAP8=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return false}var success=_emscripten_replace_memory(buffer);if(!success)return false;Module[\"buffer\"]=buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer);if(!ArrayBuffer.transfer){HEAP8.set(oldHEAP8)}return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,\"byteLength\").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Runtime.dynCall(\"v\",func)}else{Runtime.dynCall(\"vi\",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module[\"addOnPreRun\"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module[\"addOnInit\"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module[\"addOnPreMain\"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module[\"addOnExit\"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module[\"addOnPostRun\"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module[\"intArrayFromString\"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join(\"\")}Module[\"intArrayToString\"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module[\"writeStringToMemory\"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module[\"writeArrayToMemory\"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module[\"writeAsciiToMemory\"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math[\"imul\"]||Math[\"imul\"](4294967295,5)!==-5)Math[\"imul\"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math[\"imul\"];if(!Math[\"clz32\"])Math[\"clz32\"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math[\"clz32\"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}Module[\"addRunDependency\"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"removeRunDependency\"]=removeRunDependency;Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_jpegls_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,\"i8\",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module[\"_i64Subtract\"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw\"Assertion failed: \"+Pointer_stringify(condition)+\", at: \"+[filename?Pointer_stringify(filename):\"unknown filename\",line,func?Pointer_stringify(func):\"unknown function\"]+\" at \"+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall(\"vi\",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm[\"setTempRet0\"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm[\"setTempRet0\"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module[\"___cxa_is_pointer_type\"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm[\"setTempRet0\"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm[\"setTempRet0\"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!(\"uncaught_exception\"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module[\"_memset\"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):\"\"};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value===\"number\"?value.toString():value||\"\";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={\"%a\":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),\"%A\":(function(date){return WEEKDAYS[date.tm_wday]}),\"%b\":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),\"%B\":(function(date){return MONTHS[date.tm_mon]}),\"%C\":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),\"%d\":(function(date){return leadingNulls(date.tm_mday,2)}),\"%e\":(function(date){return leadingSomething(date.tm_mday,2,\" \")}),\"%g\":(function(date){return getWeekBasedYear(date).toString().substring(2)}),\"%G\":(function(date){return getWeekBasedYear(date)}),\"%H\":(function(date){return leadingNulls(date.tm_hour,2)}),\"%I\":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),\"%j\":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),\"%m\":(function(date){return leadingNulls(date.tm_mon+1,2)}),\"%M\":(function(date){return leadingNulls(date.tm_min,2)}),\"%n\":(function(){return\"\\n\"}),\"%p\":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return\"AM\"}else{return\"PM\"}}),\"%S\":(function(date){return leadingNulls(date.tm_sec,2)}),\"%t\":(function(){return\"\\t\"}),\"%u\":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),\"%U\":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?\"01\":\"00\"}),\"%V\":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return\"53\"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return\"01\"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)}),\"%Z\":(function(date){return date.tm_zone}),\"%%\":(function(){return\"%\"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module[\"abort\"]()}function _free(){}Module[\"_free\"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm[\"setThrew\"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall(\"v\",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator===\"object\")return navigator[\"hardwareConcurrency\"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method=\"timeout\"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method=\"rAF\"}else if(mode==2){if(!window[\"setImmediate\"]){var setImmediates=[];var emscriptenMainLoopMessageId=\"__emcc\";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener(\"message\",Browser_setImmediate_messageHandler,true);window[\"setImmediate\"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,\"*\")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window[\"setImmediate\"](Browser.mainLoop.runner)};Browser.mainLoop.method=\"immediate\"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module[\"noExitRuntime\"]=true;assert(!Browser.mainLoop.func,\"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.\");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker \"'+blocker.name+'\" took '+(Date.now()-start)+\" ms\");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method===\"timeout\"&&Module.ctx){Module.printErr(\"Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!\");Browser.mainLoop.method=\"\"}Browser.mainLoop.runIter((function(){if(typeof arg!==\"undefined\"){Runtime.dynCall(\"vi\",func,[arg])}else{Runtime.dynCall(\"v\",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw\"SimulateInfiniteLoop\"}}var Browser={mainLoop:{scheduler:null,method:\"\",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module[\"setStatus\"]){var message=Module[\"statusMessage\"]||\"Please wait...\";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src=\"data:audio/x-\"+name.substr(-3)+\";base64,\"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module[\"preloadPlugins\"].push(audioPlugin);var canvas=Module[\"canvas\"];function pointerLockChange(){Browser.pointerLock=document[\"pointerLockElement\"]===canvas||document[\"mozPointerLockElement\"]===canvas||document[\"webkitPointerLockElement\"]===canvas||document[\"msPointerLockElement\"]===canvas}if(canvas){canvas.requestPointerLock=canvas[\"requestPointerLock\"]||canvas[\"mozRequestPointerLock\"]||canvas[\"webkitRequestPointerLock\"]||canvas[\"msRequestPointerLock\"]||(function(){});canvas.exitPointerLock=document[\"exitPointerLock\"]||document[\"mozExitPointerLock\"]||document[\"webkitExitPointerLock\"]||document[\"msExitPointerLock\"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener(\"pointerlockchange\",pointerLockChange,false);document.addEventListener(\"mozpointerlockchange\",pointerLockChange,false);document.addEventListener(\"webkitpointerlockchange\",pointerLockChange,false);document.addEventListener(\"mspointerlockchange\",pointerLockChange,false);if(Module[\"elementPointerLock\"]){canvas.addEventListener(\"click\",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor=\"black\"}else{ctx=canvas.getContext(\"2d\")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx===\"undefined\",\"cannot set in module if GLctx is used, but we are a non-GL context that would replace it\");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer===\"undefined\")Browser.lockPointer=true;if(typeof Browser.resizeCanvas===\"undefined\")Browser.resizeCanvas=false;if(typeof Browser.vrDevice===\"undefined\")Browser.vrDevice=null;var canvas=Module[\"canvas\"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document[\"webkitFullScreenElement\"]||document[\"webkitFullscreenElement\"]||document[\"mozFullScreenElement\"]||document[\"mozFullscreenElement\"]||document[\"fullScreenElement\"]||document[\"fullscreenElement\"]||document[\"msFullScreenElement\"]||document[\"msFullscreenElement\"]||document[\"webkitCurrentFullScreenElement\"])===canvasContainer){canvas.cancelFullScreen=document[\"cancelFullScreen\"]||document[\"mozCancelFullScreen\"]||document[\"webkitCancelFullScreen\"]||document[\"msExitFullscreen\"]||document[\"exitFullscreen\"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module[\"onFullScreen\"])Module[\"onFullScreen\"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener(\"fullscreenchange\",fullScreenChange,false);document.addEventListener(\"mozfullscreenchange\",fullScreenChange,false);document.addEventListener(\"webkitfullscreenchange\",fullScreenChange,false);document.addEventListener(\"MSFullscreenChange\",fullScreenChange,false)}var canvasContainer=document.createElement(\"div\");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer[\"requestFullScreen\"]||canvasContainer[\"mozRequestFullScreen\"]||canvasContainer[\"msRequestFullscreen\"]||(canvasContainer[\"webkitRequestFullScreen\"]?(function(){canvasContainer[\"webkitRequestFullScreen\"](Element[\"ALLOW_KEYBOARD_INPUT\"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window===\"undefined\"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window[\"requestAnimationFrame\"]||window[\"mozRequestAnimationFrame\"]||window[\"webkitRequestAnimationFrame\"]||window[\"msRequestAnimationFrame\"]||window[\"oRequestAnimationFrame\"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module[\"noExitRuntime\"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module[\"noExitRuntime\"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{\"jpg\":\"image/jpeg\",\"jpeg\":\"image/jpeg\",\"png\":\"image/png\",\"bmp\":\"image/bmp\",\"ogg\":\"audio/ogg\",\"wav\":\"audio/wav\",\"mp3\":\"audio/mpeg\"}[name.substr(name.lastIndexOf(\".\")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator[\"getUserMedia\"]||navigator[\"mozGetUserMedia\"]}window.getUserMedia(func)}),getMovementX:(function(event){return event[\"movementX\"]||event[\"mozMovementX\"]||event[\"webkitMovementX\"]||0}),getMovementY:(function(event){return event[\"movementY\"]||event[\"mozMovementY\"]||event[\"webkitMovementY\"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case\"DOMMouseScroll\":delta=event.detail;break;case\"mousewheel\":delta=event.wheelDelta;break;case\"wheel\":delta=event[\"deltaY\"];break;default:throw\"unrecognized mouse wheel event: \"+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!=\"mousemove\"&&\"mozMovementX\"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!=\"undefined\"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module[\"canvas\"].getBoundingClientRect();var cw=Module[\"canvas\"].width;var ch=Module[\"canvas\"].height;var scrollX=typeof window.scrollX!==\"undefined\"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!==\"undefined\"?window.scrollY:window.pageYOffset;if(event.type===\"touchstart\"||event.type===\"touchend\"||event.type===\"touchmove\"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type===\"touchstart\"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type===\"touchend\"||event.type===\"touchmove\"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file \"'+url+'\" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency(\"al \"+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file \"'+url+'\" failed.'}}));if(!noRunDep)addRunDependency(\"al \"+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module[\"canvas\"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module[\"canvas\"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!=\"undefined\"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!=\"undefined\"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module[\"forcedAspectRatio\"]&&Module[\"forcedAspectRatio\"]>0){if(w/h>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module[\"_i64Add\"]=_i64Add;Module[\"_bitshift64Lshr\"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw\"Pure virtual function called!\"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall(\"vi\",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,\"cannot pop if something else added meanwhile!\");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module[\"_memcpy\"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort(\"cannot dynamically allocate, sbrk now has control\")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module[\"_bitshift64Shl\"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module[\"_memmove\"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true}\n// EMSCRIPTEN_START_FUNCS\nfunction dc(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function ec(){return r|0}function fc(a){a=a|0;r=a}function gc(a,b){a=a|0;b=b|0;r=a;s=b}function hc(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function ic(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function jc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function kc(a){a=a|0;M=a}function lc(){return M|0}function mc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+128|0;n=v+44|0;q=v+8|0;j=v+4|0;m=v;o=c+4|0;p=c+8|0;x=0;Ja(35,k[c>>2]|0,k[o>>2]|0,k[p>>2]|0,d|0);l=x;x=0;if(!(l&1)){g=n;f=g+84|0;do{k[g>>2]=k[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));d=n+12|0;if((k[d>>2]|0)==0?(h=ia(((k[n+8>>2]|0)+7|0)/8|0,k[n>>2]|0)|0,k[d>>2]=h,(k[n+24>>2]|0)!=0):0){l=ia(k[n+16>>2]|0,h)|0;k[d>>2]=l}x=0;qa(176,q|0);l=x;x=0;if(!(l&1)){d=n+56|0;do if(k[d>>2]|0){x=0;d=ta(66,d|0)|0;l=x;x=0;if(!(l&1)){k[j>>2]=d;f=q+28|0;g=k[f>>2]|0;if(g>>>0<(k[q+32>>2]|0)>>>0){k[g>>2]=d;k[f>>2]=g+4;k[j>>2]=0;s=19;break}x=0;ra(57,q+24|0,j|0);l=x;x=0;if(l&1){f=Wa(824,0)|0;d=M;g=k[j>>2]|0;k[j>>2]=0;if(!g)break;Lb[k[(k[g>>2]|0)+4>>2]&255](g);break}else{d=k[j>>2]|0;k[j>>2]=0;if(!d){s=19;break}Lb[k[(k[d>>2]|0)+4>>2]&255](d);s=19;break}}else s=15}else s=19;while(0);a:do if((s|0)==19){g=n+4|0;h=n+8|0;j=n+16|0;x=0;d=Ea(14,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0)|0;l=x;x=0;if(!(l&1)){k[m>>2]=d;l=q+28|0;f=k[l>>2]|0;do if(f>>>0>=(k[q+32>>2]|0)>>>0){x=0;ra(57,q+24|0,m|0);f=x;x=0;if(f&1){f=Wa(824,0)|0;d=M;g=k[m>>2]|0;k[m>>2]=0;if(!g)break a;Lb[k[(k[g>>2]|0)+4>>2]&255](g);break a}else{d=k[m>>2]|0;k[m>>2]=0;if(!d)break;Lb[k[(k[d>>2]|0)+4>>2]&255](d);break}}else{k[f>>2]=d;k[l>>2]=f+4;k[m>>2]=0}while(0);d=k[n+28>>2]|0;if((d|0)!=0?(x=0,ra(58,q|0,d|0),s=x,x=0,s&1):0){s=15;break}b:do if(!(k[n+24>>2]|0)){d=ia(k[g>>2]|0,k[n>>2]|0)|0;d=ia(d,((k[h>>2]|0)+7|0)/8|0)|0;if((k[j>>2]|0)>0){g=0;while(1){x=0;Fa(4,q|0,c|0,n|0);s=x;x=0;if(s&1)break;f=k[o>>2]|0;if(f){k[o>>2]=f+d;k[p>>2]=(k[p>>2]|0)-d}g=g+1|0;if((g|0)>=(k[j>>2]|0))break b}f=Wa(824,0)|0;d=M;s=16;break a}}else{x=0;Fa(4,q|0,c|0,n|0);s=x;x=0;if(s&1){s=15;break a}}while(0);x=0;Aa(33,q|0,a|0)|0;s=x;x=0;if(!(s&1)){k[b>>2]=k[q+16>>2];if(e)i[e>>0]=0;g=q+24|0;d=k[g>>2]|0;if(d){f=k[l>>2]|0;if((f|0)!=(d|0)){do{e=f+-4|0;k[l>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f)Lb[k[(k[f>>2]|0)+4>>2]&255](f);f=k[l>>2]|0}while((f|0)!=(d|0));d=k[g>>2]|0}mj(d)}e=0;r=v;return e|0}else s=15}else s=15}while(0);if((s|0)==15){f=Wa(824,0)|0;d=M;s=16}l=q+24|0;g=k[l>>2]|0;if(g){j=q+28|0;h=k[j>>2]|0;if((h|0)!=(g|0)){do{q=h+-4|0;k[j>>2]=q;h=k[q>>2]|0;k[q>>2]=0;if(h)Lb[k[(k[h>>2]|0)+4>>2]&255](h);h=k[j>>2]|0}while((h|0)!=(g|0));g=k[l>>2]|0}mj(g)}}else s=5}else s=5;if((s|0)==5){f=Wa(824,0)|0;d=M}q=(d|0)==(ab(824)|0);h=cb(f|0)|0;d=(e|0)==0;if(!q){if(!d)i[e>>0]=0;eb();e=14;r=v;return e|0}g=h+12|0;do if(!d){d=k[g>>2]|0;x=0;f=Da(1)|0;q=x;x=0;if(!(q&1))if((d|0)==(f|0)){wl(e,Ob[k[(k[h>>2]|0)+8>>2]&127](h)|0)|0;s=60;break}else{i[e>>0]=0;s=60;break}}else s=60;while(0);if((s|0)==60?(t=k[g>>2]|0,x=0,u=Da(1)|0,e=x,x=0,!(e&1)):0){e=(t|0)==(u|0)?k[h+8>>2]|0:13;eb();r=v;return e|0}d=Wa()|0;x=0;Ga(3);v=x;x=0;if(v&1){v=Wa(0)|0;oc(v)}else fb(d|0);return 0}function nc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;j=r;r=r+112|0;f=j+96|0;i=j+84|0;l=j+72|0;m=j+60|0;n=j+48|0;o=j+36|0;p=j+24|0;q=j+12|0;s=j;h=(b|0)==0;if((a|0)==0&h){e=Va(16)|0;x=0;Fa(5,f|0,48504,52);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,f|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(f);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}g=k[d>>2]|0;if((g+-1|0)>>>0>65534){e=Va(16)|0;x=0;Fa(5,i|0,48557,41);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,i|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(i);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}f=k[d+4>>2]|0;if((f+-1|0)>>>0>65534){e=Va(16)|0;x=0;Fa(5,l|0,48599,42);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,l|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(l);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}e=k[d+8>>2]|0;if((e+-2|0)>>>0>14){e=Va(16)|0;x=0;Fa(5,m|0,48642,46);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,m|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(m);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}a=k[d+24>>2]|0;if(a>>>0>=3){e=Va(16)|0;x=0;Fa(5,n|0,48689,65);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,n|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(n);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}b=k[d+16>>2]|0;if((b+-1|0)>>>0>254){e=Va(16)|0;x=0;Fa(5,o|0,48755,44);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,o|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(o);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}if(!h?(o=ia(f,g)|0,(ia(ia(o,(e|0)>8?2:1)|0,b)|0)>>>0>c>>>0):0){e=Va(16)|0;x=0;Fa(5,p|0,48800,58);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,p|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(p);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}switch(b|0){case 4:{if((a|0)!=2){r=j;return}e=Va(16)|0;x=0;Fa(5,q|0,48859,73);s=x;x=0;if(!(s&1)){x=0;b=Da(1)|0;s=x;x=0;if(!(s&1)?(x=0,Ja(36,e|0,1,b|0,q|0),s=x,x=0,!(s&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(q);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}case 3:{r=j;return}default:{if(!a){r=j;return}e=Va(16)|0;x=0;Fa(5,s|0,48933,73);q=x;x=0;if(!(q&1)){x=0;b=Da(1)|0;q=x;x=0;if(!(q&1)?(x=0,Ja(36,e|0,1,b|0,s|0),q=x,x=0,!(q&1)):0){x=0;Fa(6,e|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(s);if(!a){s=b;fb(s|0)}}else b=Wa()|0;Ua(e|0);s=b;fb(s|0)}}}function oc(a){a=a|0;cb(a|0)|0;tj()}function pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+128|0;f=m+116|0;g=m;x=0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];ra(59,g|0,f|0);e=x;x=0;if(!(e&1)){if(c){e=g+16|0;b=e+84|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(b|0))}x=0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];ra(60,g|0,f|0);g=x;x=0;if(!(g&1)){if(d)i[d>>0]=0;l=0;r=m;return l|0}}a=Wa(824,0)|0;g=M;g=(g|0)==(ab(824)|0);a=cb(a|0)|0;b=(d|0)==0;if(!g){if(!b)i[d>>0]=0;eb();l=14;r=m;return l|0}e=a+12|0;do if(!b){b=k[e>>2]|0;x=0;c=Da(1)|0;g=x;x=0;if(!(g&1))if((b|0)==(c|0)){wl(d,Ob[k[(k[a>>2]|0)+8>>2]&127](a)|0)|0;l=10;break}else{i[d>>0]=0;l=10;break}}else l=10;while(0);if((l|0)==10?(h=k[e>>2]|0,x=0,j=Da(1)|0,l=x,x=0,!(l&1)):0){l=(h|0)==(j|0)?k[a+8>>2]|0:13;eb();r=m;return l|0}b=Wa()|0;x=0;Ga(3);m=x;x=0;if(m&1){m=Wa(0)|0;oc(m)}else fb(b|0);return 0}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+128|0;e=j+116|0;d=j;x=0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];ra(59,d|0,e|0);e=x;x=0;if((!(e&1)?(x=0,qa(177,d|0),e=x,x=0,!(e&1)):0)?(x=0,ra(61,d|0,1),e=x,x=0,!(e&1)):0){a=d+16|0;d=b+84|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(d|0));if(c)i[c>>0]=0;c=0;r=j;return c|0}e=Wa(824,0)|0;b=M;b=(b|0)==(ab(824)|0);e=cb(e|0)|0;a=(c|0)==0;if(!b){if(!a)i[c>>0]=0;eb();c=14;r=j;return c|0}b=e+12|0;do if(!a){a=k[b>>2]|0;x=0;d=Da(1)|0;l=x;x=0;if(!(l&1))if((a|0)==(d|0)){wl(c,Ob[k[(k[e>>2]|0)+8>>2]&127](e)|0)|0;h=13;break}else{i[c>>0]=0;h=13;break}}else h=13;while(0);if((h|0)==13?(f=k[b>>2]|0,x=0,g=Da(1)|0,l=x,x=0,!(l&1)):0){l=(f|0)==(g|0)?k[e+8>>2]|0:13;eb();r=j;return l|0}a=Wa()|0;x=0;Ga(3);l=x;x=0;if(l&1){l=Wa(0)|0;oc(l)}else fb(a|0);return 0}function rc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;i=m+36|0;h=m+24|0;j=m+12|0;l=m;if(!((a|0)!=0&(c|0)!=0&(d|0)!=0&(f|0)!=0)){e=1;r=m;return e|0}k[j>>2]=0;k[j+4>>2]=a;k[j+8>>2]=b;k[l>>2]=0;k[l+4>>2]=d;k[l+8>>2]=e;k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[i+8>>2]=k[l+8>>2];e=mc(h,c,i,f,g)|0;r=m;return e|0}function sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e+12|0;g=e;h=g;k[h>>2]=0;k[h+4>>2]=0;k[g+4>>2]=a;k[g+8>>2]=b;k[f>>2]=k[g>>2];k[f+4>>2]=k[g+4>>2];k[f+8>>2]=k[g+8>>2];c=qc(f,c,d)|0;r=e;return c|0}function tc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+48|0;h=g+36|0;i=g+24|0;l=g+12|0;j=g;k[l>>2]=0;k[l+4>>2]=a;k[l+8>>2]=b;k[j>>2]=0;k[j+4>>2]=c;k[j+8>>2]=d;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[i+8>>2]=k[l+8>>2];k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];d=pc(i,h,e,f)|0;r=g;return d|0}function uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[a>>2]|0;e=((k[j>>2]|0)-c>>2)+1|0;if(e>>>0>1073741823){jj(a);c=k[a>>2]|0}l=a+8|0;d=(k[l>>2]|0)-c|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;c=(k[j>>2]|0)-c>>2;if(!d){f=0;g=0}else h=6}else{d=1073741823;c=(k[j>>2]|0)-c>>2;h=6}if((h|0)==6){f=d;g=lj(d<<2)|0}e=g+(c<<2)|0;d=e;i=g+(f<<2)|0;h=k[b>>2]|0;k[b>>2]=0;k[e>>2]=h;h=g+(c+1<<2)|0;g=k[a>>2]|0;c=k[j>>2]|0;if((c|0)==(g|0)){e=a;f=j}else{do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(g|0));c=d;e=a;f=j;d=c;g=k[a>>2]|0;c=k[j>>2]|0}k[e>>2]=d;k[f>>2]=h;k[l>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d)Lb[k[(k[d>>2]|0)+4>>2]&255](d)}while((c|0)!=(e|0));if(!g)return;mj(g);return}function vc(){if(i[8]|0)return 35648;if(!(Qa(8)|0))return 35648;tb(72,35648,w|0)|0;Ya(8);return 35648}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;j=m;Oi(j,(1<>2]|0;l=f+1|0;c=l<<1;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;a:do if(l){if(!((f|0)<-1?(x=0,qa(178,a|0),h=x,x=0,h&1):0))d=4;if((d|0)==4?(x=0,e=ta(67,c|0)|0,h=x,x=0,!(h&1)):0){k[g>>2]=e;k[a>>2]=e;k[a+8>>2]=e+c;b=e;while(1){i[b>>0]=0;b=(k[g>>2]|0)+1|0;k[g>>2]=b;c=c+-1|0;if(!c)break a}}c=Wa()|0;b=k[a>>2]|0;if(!b)fb(c|0);if((k[g>>2]|0)!=(b|0))k[g>>2]=b;mj(b);fb(c|0)}while(0);b=~f;if((f|0)<(b|0)){r=m;return}g=j+12|0;h=j+8|0;f=j+4|0;e=b;do{b=k[g>>2]|0;if((e|0)>(0-b|0)){c=k[h>>2]|0;if((e|0)>(0-c|0)){d=k[f>>2]|0;if((e|0)>(0-d|0))if((e|0)>=0)if((e|0)>0)if((d|0)<=(e|0))if((c|0)>(e|0))b=2;else b=(b|0)>(e|0)?3:4;else b=1;else b=0;else b=-1;else b=-2}else b=-3}else b=-4;i[(k[a>>2]|0)+(e+l)>>0]=b;e=e+1|0}while((e|0)<(l|0));r=m;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[c+16>>2]|0;switch(p|0){case 64:case 0:{x=0;a=Aa(34,a|0,b|0)|0;b=x;x=0;if(b&1)q=16;else d=a;break}default:{e=(1<>2])+-1|0;o=k[b+20>>2]|0;n=o<<1;n=((n+e|0)/(n|1|0)|0)+1|0;a=0;while(1)if((1<>2]|0;x=0;d=ta(67,4624)|0;m=x;x=0;if(m&1)q=16;else{f=((g|0)<8?8:g)+g<<1;h=d+4|0;l=b;m=h+84|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));h=d+88|0;m=h+40|0;do{k[h>>2]=0;h=h+4|0}while((h|0)<(m|0));k[d>>2]=35660;k[d+128>>2]=e;k[d+132>>2]=n;k[d+136>>2]=o;k[d+140>>2]=a;k[d+144>>2]=g;k[d+148>>2]=f;k[d+152>>2]=p;a=d+156|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+172>>2]=k[b>>2];k[d+176>>2]=0;k[d+180>>2]=0;k[d+184>>2]=0;a=d+4568|0;e=d+188|0;do{k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;j[e+10>>1]=1;e=e+12|0}while((e|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4580|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4592|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+28>>2]|0))k[d+20>>2]=1}}}if((q|0)==16){q=Wa()|0;fb(q|0)}if(!d)return d|0;x=0;ra(k[(k[d>>2]|0)+12>>2]|0,d|0,c|0);q=x;x=0;if(!(q&1))return d|0;a=Wa()|0;if(!d){q=a;fb(q|0)}Lb[k[(k[d>>2]|0)+4>>2]&255](d);q=a;fb(q|0);return 0}function yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;c=(k[b+24>>2]|0)==2;if(c?(k[b+16>>2]|0)!=3:0){b=0;return b|0}n=k[b+20>>2]|0;a=k[b+8>>2]|0;a:do if(!n){if(c){if((a|0)!=8)break;d=lj(4600)|0;g=d+4|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=d+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[d>>2]=35688;a=d+132|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+148>>2]=k[b>>2];k[d+152>>2]=0;k[d+156>>2]=0;k[d+160>>2]=0;a=d+4544|0;c=d+164|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4556|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4568|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+28>>2]|0))k[d+20>>2]=1;b=d;return b|0}switch(a|0){case 8:{d=lj(4600)|0;g=d+4|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=d+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[d>>2]=35716;a=d+132|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+148>>2]=k[b>>2];k[d+152>>2]=0;k[d+156>>2]=0;k[d+160>>2]=0;a=d+4544|0;c=d+164|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4556|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4568|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+28>>2]|0))k[d+20>>2]=1;b=d;return b|0}case 12:{d=lj(4600)|0;g=d+4|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=d+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[d>>2]=35744;a=d+132|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+148>>2]=k[b>>2];k[d+152>>2]=0;k[d+156>>2]=0;k[d+160>>2]=0;a=d+4544|0;c=d+164|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4556|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4568|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+28>>2]|0))k[d+20>>2]=1;b=d;return b|0}case 16:{d=lj(4600)|0;g=d+4|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=d+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[d>>2]=35772;a=d+132|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+148>>2]=k[b>>2];k[d+152>>2]=0;k[d+156>>2]=0;k[d+160>>2]=0;a=d+4544|0;c=d+164|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4556|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4568|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+28>>2]|0))k[d+20>>2]=1;b=d;return b|0}default:break a}}while(0);m=(1<>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=e+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[e>>2]=35800;k[e+128>>2]=m;k[e+132>>2]=f;k[e+136>>2]=n;k[e+140>>2]=a;k[e+144>>2]=c;k[e+148>>2]=d;k[e+152>>2]=64;a=e+156|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+172>>2]=k[b>>2];k[e+176>>2]=0;k[e+180>>2]=0;k[e+184>>2]=0;a=e+4568|0;c=e+188|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4580|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4592|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+28>>2]|0))k[e+20>>2]=1;b=e;return b|0}else{a=0;while(1)if((1<>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=e+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[e>>2]=35660;k[e+128>>2]=m;k[e+132>>2]=f;k[e+136>>2]=n;k[e+140>>2]=a;k[e+144>>2]=c;k[e+148>>2]=d;k[e+152>>2]=64;a=e+156|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+172>>2]=k[b>>2];k[e+176>>2]=0;k[e+180>>2]=0;k[e+184>>2]=0;a=e+4568|0;c=e+188|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4580|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4592|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+28>>2]|0))k[e+20>>2]=1;b=e;return b|0}}if((a|0)>=17){b=0;return b|0}f=n<<1;f=((f+m|0)/(f|1|0)|0)+1|0;if(c){a=0;while(1)if((1<>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=e+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[e>>2]=35828;k[e+128>>2]=m;k[e+132>>2]=f;k[e+136>>2]=n;k[e+140>>2]=a;k[e+144>>2]=c;k[e+148>>2]=d;k[e+152>>2]=64;a=e+156|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+172>>2]=k[b>>2];k[e+176>>2]=0;k[e+180>>2]=0;k[e+184>>2]=0;a=e+4568|0;c=e+188|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4580|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4592|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+28>>2]|0))k[e+20>>2]=1;b=e;return b|0}else{a=0;while(1)if((1<>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));g=e+88|0;l=g+40|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(l|0));k[e>>2]=35856;k[e+128>>2]=m;k[e+132>>2]=f;k[e+136>>2]=n;k[e+140>>2]=a;k[e+144>>2]=c;k[e+148>>2]=d;k[e+152>>2]=64;a=e+156|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+172>>2]=k[b>>2];k[e+176>>2]=0;k[e+180>>2]=0;k[e+184>>2]=0;a=e+4568|0;c=e+188|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4580|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4592|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+28>>2]|0))k[e+20>>2]=1;b=e;return b|0}return 0}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[c+16>>2]|0;switch(p|0){case 64:case 0:{x=0;a=Aa(35,a|0,b|0)|0;b=x;x=0;if(b&1)q=16;else d=a;break}default:{e=(1<>2])+-1|0;o=k[b+20>>2]|0;n=o<<1;n=((n+e|0)/(n|1|0)|0)+1|0;a=0;while(1)if((1<>2]|0;x=0;d=ta(67,4632)|0;m=x;x=0;if(m&1)q=16;else{f=((g|0)<8?8:g)+g<<1;k[d+4>>2]=0;h=d+8|0;l=b;m=h+84|0;do{k[h>>2]=k[l>>2];h=h+4|0;l=l+4|0}while((h|0)<(m|0));k[d+92>>2]=0;k[d+96>>2]=0;k[d+100>>2]=32;k[d+104>>2]=0;k[d+108>>2]=0;i[d+112>>0]=0;m=d+116|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[d>>2]=35884;k[d+136>>2]=e;k[d+140>>2]=n;k[d+144>>2]=o;k[d+148>>2]=a;k[d+152>>2]=g;k[d+156>>2]=f;k[d+160>>2]=p;a=d+164|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+180>>2]=k[b>>2];k[d+184>>2]=0;k[d+188>>2]=0;k[d+192>>2]=0;a=d+4576|0;e=d+196|0;do{k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;j[e+10>>1]=1;e=e+12|0}while((e|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4588|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4600|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+32>>2]|0))k[d+24>>2]=1}}}if((q|0)==16){q=Wa()|0;fb(q|0)}if(!d)return d|0;x=0;ra(k[(k[d>>2]|0)+8>>2]|0,d|0,c|0);q=x;x=0;if(!(q&1))return d|0;a=Wa()|0;if(!d){q=a;fb(q|0)}Lb[k[(k[d>>2]|0)+4>>2]&255](d);q=a;fb(q|0);return 0}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;c=(k[b+24>>2]|0)==2;if(c?(k[b+16>>2]|0)!=3:0){b=0;return b|0}n=k[b+20>>2]|0;a=k[b+8>>2]|0;a:do if(!n){if(c){if((a|0)!=8)break;d=lj(4608)|0;k[d+4>>2]=0;g=d+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[d+92>>2]=0;k[d+96>>2]=0;k[d+100>>2]=32;k[d+104>>2]=0;k[d+108>>2]=0;i[d+112>>0]=0;a=d+116|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[d>>2]=35912;a=d+140|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+156>>2]=k[b>>2];k[d+160>>2]=0;k[d+164>>2]=0;k[d+168>>2]=0;a=d+4552|0;c=d+172|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4564|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4576|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+32>>2]|0))k[d+24>>2]=1;b=d;return b|0}switch(a|0){case 8:{d=lj(4608)|0;k[d+4>>2]=0;g=d+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[d+92>>2]=0;k[d+96>>2]=0;k[d+100>>2]=32;k[d+104>>2]=0;k[d+108>>2]=0;i[d+112>>0]=0;a=d+116|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[d>>2]=35940;a=d+140|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+156>>2]=k[b>>2];k[d+160>>2]=0;k[d+164>>2]=0;k[d+168>>2]=0;a=d+4552|0;c=d+172|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4564|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4576|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+32>>2]|0))k[d+24>>2]=1;b=d;return b|0}case 12:{d=lj(4608)|0;k[d+4>>2]=0;g=d+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[d+92>>2]=0;k[d+96>>2]=0;k[d+100>>2]=32;k[d+104>>2]=0;k[d+108>>2]=0;i[d+112>>0]=0;a=d+116|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[d>>2]=35968;a=d+140|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+156>>2]=k[b>>2];k[d+160>>2]=0;k[d+164>>2]=0;k[d+168>>2]=0;a=d+4552|0;c=d+172|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4564|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4576|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+32>>2]|0))k[d+24>>2]=1;b=d;return b|0}case 16:{d=lj(4608)|0;k[d+4>>2]=0;g=d+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[d+92>>2]=0;k[d+96>>2]=0;k[d+100>>2]=32;k[d+104>>2]=0;k[d+108>>2]=0;i[d+112>>0]=0;a=d+116|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[d>>2]=35996;a=d+140|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[d+156>>2]=k[b>>2];k[d+160>>2]=0;k[d+164>>2]=0;k[d+168>>2]=0;a=d+4552|0;c=d+172|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=d+4564|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=d+4576|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[d+32>>2]|0))k[d+24>>2]=1;b=d;return b|0}default:break a}}while(0);m=(1<>2]=0;g=e+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[e+92>>2]=0;k[e+96>>2]=0;k[e+100>>2]=32;k[e+104>>2]=0;k[e+108>>2]=0;i[e+112>>0]=0;l=e+116|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[e>>2]=36024;k[e+136>>2]=m;k[e+140>>2]=f;k[e+144>>2]=n;k[e+148>>2]=a;k[e+152>>2]=c;k[e+156>>2]=d;k[e+160>>2]=64;a=e+164|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+180>>2]=k[b>>2];k[e+184>>2]=0;k[e+188>>2]=0;k[e+192>>2]=0;a=e+4576|0;c=e+196|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4588|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4600|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+32>>2]|0))k[e+24>>2]=1;b=e;return b|0}else{a=0;while(1)if((1<>2]=0;g=e+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[e+92>>2]=0;k[e+96>>2]=0;k[e+100>>2]=32;k[e+104>>2]=0;k[e+108>>2]=0;i[e+112>>0]=0;l=e+116|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[e>>2]=35884;k[e+136>>2]=m;k[e+140>>2]=f;k[e+144>>2]=n;k[e+148>>2]=a;k[e+152>>2]=c;k[e+156>>2]=d;k[e+160>>2]=64;a=e+164|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+180>>2]=k[b>>2];k[e+184>>2]=0;k[e+188>>2]=0;k[e+192>>2]=0;a=e+4576|0;c=e+196|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4588|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4600|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+32>>2]|0))k[e+24>>2]=1;b=e;return b|0}}if((a|0)>=17){b=0;return b|0}f=n<<1;f=((f+m|0)/(f|1|0)|0)+1|0;if(c){a=0;while(1)if((1<>2]=0;g=e+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[e+92>>2]=0;k[e+96>>2]=0;k[e+100>>2]=32;k[e+104>>2]=0;k[e+108>>2]=0;i[e+112>>0]=0;l=e+116|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[e>>2]=36052;k[e+136>>2]=m;k[e+140>>2]=f;k[e+144>>2]=n;k[e+148>>2]=a;k[e+152>>2]=c;k[e+156>>2]=d;k[e+160>>2]=64;a=e+164|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+180>>2]=k[b>>2];k[e+184>>2]=0;k[e+188>>2]=0;k[e+192>>2]=0;a=e+4576|0;c=e+196|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4588|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4600|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+32>>2]|0))k[e+24>>2]=1;b=e;return b|0}else{a=0;while(1)if((1<>2]=0;g=e+8|0;h=b;l=g+84|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(l|0));k[e+92>>2]=0;k[e+96>>2]=0;k[e+100>>2]=32;k[e+104>>2]=0;k[e+108>>2]=0;i[e+112>>0]=0;l=e+116|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[e>>2]=36080;k[e+136>>2]=m;k[e+140>>2]=f;k[e+144>>2]=n;k[e+148>>2]=a;k[e+152>>2]=c;k[e+156>>2]=d;k[e+160>>2]=64;a=e+164|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[e+180>>2]=k[b>>2];k[e+184>>2]=0;k[e+188>>2]=0;k[e+192>>2]=0;a=e+4576|0;c=e+196|0;do{k[c>>2]=0;k[c+4>>2]=0;j[c+8>>1]=0;j[c+10>>1]=1;c=c+12|0}while((c|0)!=(a|0));k[a>>2]=0;k[a+4>>2]=0;j[a+8>>1]=0;i[a+10>>0]=0;b=e+4588|0;k[b>>2]=0;k[b+4>>2]=0;j[b+8>>1]=0;i[b+10>>0]=0;b=e+4600|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;if(!(k[e+32>>2]|0))k[e+24>>2]=1;b=e;return b|0}return 0}function Bc(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0;a=2832;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);sw(2832,0,2048)|0;a=0;do{g=2832+(a+128<<3)|0;k[g>>2]=0;k[g+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;k[a>>2]=1;k[a+4>>2]=3;a=3096;k[a>>2]=1;k[a+4>>2]=3;a=3104;k[a>>2]=1;k[a+4>>2]=3;a=3112;k[a>>2]=1;k[a+4>>2]=3;a=3120;k[a>>2]=1;k[a+4>>2]=3;a=3128;k[a>>2]=1;k[a+4>>2]=3;a=3136;k[a>>2]=1;k[a+4>>2]=3;a=3144;k[a>>2]=1;k[a+4>>2]=3;a=3152;k[a>>2]=1;k[a+4>>2]=3;a=3160;k[a>>2]=1;k[a+4>>2]=3;a=3168;k[a>>2]=1;k[a+4>>2]=3;a=3176;k[a>>2]=1;k[a+4>>2]=3;a=3184;k[a>>2]=1;k[a+4>>2]=3;a=3192;k[a>>2]=1;k[a+4>>2]=3;a=3200;k[a>>2]=1;k[a+4>>2]=3;a=3208;k[a>>2]=1;k[a+4>>2]=3;a=3216;k[a>>2]=1;k[a+4>>2]=3;a=3224;k[a>>2]=1;k[a+4>>2]=3;a=3232;k[a>>2]=1;k[a+4>>2]=3;a=3240;k[a>>2]=1;k[a+4>>2]=3;a=3248;k[a>>2]=1;k[a+4>>2]=3;a=3256;k[a>>2]=1;k[a+4>>2]=3;a=3264;k[a>>2]=1;k[a+4>>2]=3;a=3272;k[a>>2]=1;k[a+4>>2]=3;a=3280;k[a>>2]=1;k[a+4>>2]=3;a=3288;k[a>>2]=1;k[a+4>>2]=3;a=3296;k[a>>2]=1;k[a+4>>2]=3;a=3304;k[a>>2]=1;k[a+4>>2]=3;a=3312;k[a>>2]=1;k[a+4>>2]=3;a=3320;k[a>>2]=1;k[a+4>>2]=3;a=3328;k[a>>2]=1;k[a+4>>2]=3;a=3336;k[a>>2]=1;k[a+4>>2]=3;a=2896;k[a>>2]=2;k[a+4>>2]=5;a=2904;k[a>>2]=2;k[a+4>>2]=5;a=2912;k[a>>2]=2;k[a+4>>2]=5;a=2920;k[a>>2]=2;k[a+4>>2]=5;a=2928;k[a>>2]=2;k[a+4>>2]=5;a=2936;k[a>>2]=2;k[a+4>>2]=5;a=2944;k[a>>2]=2;k[a+4>>2]=5;a=2952;k[a>>2]=2;k[a+4>>2]=5;a=2848;k[a>>2]=3;k[a+4>>2]=7;a=2856;k[a>>2]=3;k[a+4>>2]=7;a=0;do{g=2832+(a+64<<3)|0;k[g>>2]=-1;k[g+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;k[a>>2]=-2;k[a+4>>2]=4;a=2968;k[a>>2]=-2;k[a+4>>2]=4;a=2976;k[a>>2]=-2;k[a+4>>2]=4;a=2984;k[a>>2]=-2;k[a+4>>2]=4;a=2992;k[a>>2]=-2;k[a+4>>2]=4;a=3e3;k[a>>2]=-2;k[a+4>>2]=4;a=3008;k[a>>2]=-2;k[a+4>>2]=4;a=3016;k[a>>2]=-2;k[a+4>>2]=4;a=3024;k[a>>2]=-2;k[a+4>>2]=4;a=3032;k[a>>2]=-2;k[a+4>>2]=4;a=3040;k[a>>2]=-2;k[a+4>>2]=4;a=3048;k[a>>2]=-2;k[a+4>>2]=4;a=3056;k[a>>2]=-2;k[a+4>>2]=4;a=3064;k[a>>2]=-2;k[a+4>>2]=4;a=3072;k[a>>2]=-2;k[a+4>>2]=4;a=3080;k[a>>2]=-2;k[a+4>>2]=4;a=2864;k[a>>2]=-3;k[a+4>>2]=6;a=2872;k[a>>2]=-3;k[a+4>>2]=6;a=2880;k[a>>2]=-3;k[a+4>>2]=6;a=2888;k[a>>2]=-3;k[a+4>>2]=6;a=2840;k[a>>2]=-4;k[a+4>>2]=8;a=4880;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);sw(4880,0,2048)|0;c=2;a=0;e=0;f=0;while(1){c=c<<16>>16;b=8-c|0;d=1<>2]=e;k[g+4>>2]=c;b=b+1|0}while((b|0)<(d|0))}b=(f<<16)+65536|0;a=b>>31^b>>15;f=f+1|0;if((f|0)==7){b=2;e=1;f=-1;g=-1;break}else{c=(a>>1)+2|0;e=b>>16}}while(1){c=b<<16>>16;a=8-c|0;d=1<>2]=f;k[e+4>>2]=c;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;e=a>>31^a>>15;b=(e>>1)+2|0;if((b|0)>8){a=6928;break}else{f=a>>16;g=g+-1|0}}do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);sw(6928,0,2048)|0;e=3;a=0;d=0;f=0;while(1){b=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}b=(f<<16)+65536|0;a=b>>31^b>>15;f=f+1|0;if((f|0)==12){e=3;b=1;d=-1;f=-1;break}else{e=(a>>2)+3|0;d=b>>16}}while(1){a=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}a=(f<<16)+-65536|0;b=a>>31^a>>15;e=(b>>2)+3|0;if((e|0)>8){a=8976;break}else{d=a>>16;f=f+-1|0}}do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);sw(8976,0,2048)|0;e=4;a=0;d=0;f=0;while(1){b=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}b=(f<<16)+65536|0;a=b>>31^b>>15;f=f+1|0;if((f|0)==20){e=4;b=1;d=-1;f=-1;break}else{e=(a>>3)+4|0;d=b>>16}}while(1){a=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}a=(f<<16)+-65536|0;b=a>>31^a>>15;e=(b>>3)+4|0;if((e|0)>8){a=11024;break}else{d=a>>16;f=f+-1|0}}do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);sw(11024,0,2048)|0;e=5;a=0;d=0;f=0;while(1){b=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}b=(f<<16)+65536|0;a=b>>31^b>>15;f=f+1|0;if((f|0)==32){e=5;b=1;d=-1;f=-1;break}else{e=(a>>4)+5|0;d=b>>16}}while(1){a=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}a=(f<<16)+-65536|0;b=a>>31^a>>15;e=(b>>4)+5|0;if((e|0)>8){a=13072;break}else{d=a>>16;f=f+-1|0}}do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);sw(13072,0,2048)|0;e=6;a=0;d=0;f=0;while(1){b=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}b=(f<<16)+65536|0;a=b>>31^b>>15;f=f+1|0;if((f|0)==48){e=6;b=1;d=-1;f=-1;break}else{e=(a>>5)+6|0;d=b>>16}}while(1){a=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}a=(f<<16)+-65536|0;b=a>>31^a>>15;e=(b>>5)+6|0;if((e|0)>8){a=15120;break}else{d=a>>16;f=f+-1|0}}do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);sw(15120,0,2048)|0;e=7;a=0;d=0;f=0;while(1){b=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}b=(f<<16)+65536|0;a=b>>31^b>>15;f=f+1|0;if((f|0)==64){e=7;b=1;d=-1;f=-1;break}else{e=(a>>6)+7|0;d=b>>16}}while(1){a=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}a=(f<<16)+-65536|0;b=a>>31^a>>15;e=(b>>6)+7|0;if((e|0)>8){a=17168;break}else{d=a>>16;f=f+-1|0}}do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);sw(17168,0,2048)|0;e=8;a=0;d=0;f=0;while(1){b=8-e|0;c=1<>2]=d;k[g+4>>2]=e;b=b+1|0}while((b|0)<(c|0))}b=(f<<16)+65536|0;a=b>>31^b>>15;f=f+1|0;if((f|0)==64){f=8;d=1;e=-1;g=-1;break}else{e=(a>>7)+8|0;d=b>>16}}while(1){a=8-f|0;c=1<>2]=e;k[d+4>>2]=f;b=b+1|0}while((b|0)<(c|0))}b=(g<<16)+-65536|0;d=b>>31^b>>15;a=d>>7;if((a|0)>0){a=19216;break}else{f=a+8|0;e=b>>16;g=g+-1|0}}do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);sw(19216,0,2048)|0;a=21264;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);sw(21264,0,2048)|0;a=23312;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);sw(23312,0,2048)|0;a=25360;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);sw(25360,0,2048)|0;a=27408;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);sw(27408,0,2048)|0;a=29456;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);sw(29456,0,2048)|0;a=31504;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);sw(31504,0,2048)|0;a=33552;do{k[a>>2]=0;k[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);sw(33552,0,2048)|0;wc(35600,8);tb(179,35600,w|0)|0;wc(35612,10);tb(179,35612,w|0)|0;wc(35624,12);tb(179,35624,w|0)|0;wc(35636,16);tb(179,35636,w|0)|0;return}function Cc(a){a=a|0;var b=0;b=k[a>>2]|0;if(!b)return;a=a+4|0;if((k[a>>2]|0)!=(b|0))k[a>>2]=b;mj(b);return}function Dc(a){a=a|0;var b=0,c=0;k[a>>2]=36080;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Ec(a){a=a|0;var b=0,c=0;k[a>>2]=36080;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+136>>2]|0,k[a+144>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+184>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+188>>2]=f;k[a+192>>2]=e;re(a);e=a+140|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+196+(f*12|0)>>2]=b;k[a+196+(f*12|0)+4>>2]=0;j[a+196+(f*12|0)+8>>1]=0;j[a+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4576>>2]=h;k[a+4580>>2]=0;i[a+4584>>0]=l;i[a+4585>>0]=1;i[a+4586>>0]=0;k[a+4588>>2]=h;k[a+4592>>2]=1;i[a+4596>>0]=l;i[a+4597>>0]=1;i[a+4598>>0]=0;k[a+4600>>2]=0;r=g;return}function Gc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4624)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35856;k[b+128>>2]=k[a+136>>2];k[b+132>>2]=k[a+140>>2];k[b+136>>2]=k[a+144>>2];k[b+140>>2]=k[a+148>>2];k[b+144>>2]=k[a+152>>2];k[b+148>>2]=k[a+156>>2];k[b+152>>2]=k[a+160>>2];e=b+156|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+172>>2]=k[d>>2];k[b+176>>2]=0;k[b+180>>2]=0;k[b+184>>2]=0;e=b+4568|0;d=b+188|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4580|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4592|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];ge(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;ge(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}function Hc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Ic(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;k[a>>2]=36460;k[a+4>>2]=c;n=a+8|0;f=k[c>>2]|0;l=c+16|0;d=k[l>>2]|0;g=ia(d,f)|0;k[n>>2]=0;o=a+12|0;k[o>>2]=0;k[a+16>>2]=0;do if(g){if(!((g|0)<0?(x=0,qa(178,n|0),f=x,x=0,f&1):0))m=4;if((m|0)==4?(h=g<<1,x=0,j=ta(67,h|0)|0,f=x,x=0,!(f&1)):0){k[n>>2]=j;f=j+(g<<1)|0;k[a+16>>2]=f;sw(j|0,0,h|0)|0;k[o>>2]=f;f=k[c>>2]|0;d=k[l>>2]|0;break}g=Wa()|0;e=k[n>>2]|0;d=e;if(e){f=k[o>>2]|0;if((f|0)!=(e|0))k[o>>2]=f+(~((f+-2-d|0)>>>1)<<1);mj(e)}o=g;fb(o|0)}while(0);g=a+20|0;d=ia(f<<1,d)|0;k[g>>2]=0;h=a+24|0;k[h>>2]=0;k[a+28>>2]=0;if(!d){o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))m=13;if((m|0)==13?(x=0,e=ta(67,d|0)|0,m=x,x=0,!(m&1)):0){k[h>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[h>>2]|0)+1|0;k[h>>2]=e;d=d+-1|0}while((d|0)!=0);o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}f=Wa()|0;e=k[g>>2]|0;if(e){if((k[h>>2]|0)!=(e|0))k[h>>2]=e;mj(e)}e=k[n>>2]|0;if(!e){o=f;fb(o|0)}d=k[o>>2]|0;if((d|0)!=(e|0))k[o>>2]=d+(~((d+-2-e|0)>>>1)<<1);mj(e);o=f;fb(o|0)}function Jc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;k[a>>2]=36436;k[a+4>>2]=c;n=a+8|0;f=k[c>>2]|0;l=c+16|0;d=k[l>>2]|0;g=ia(d,f)|0;k[n>>2]=0;o=a+12|0;k[o>>2]=0;k[a+16>>2]=0;do if(g){if(!((g|0)<0?(x=0,qa(178,n|0),f=x,x=0,f&1):0))m=4;if((m|0)==4?(h=g<<1,x=0,j=ta(67,h|0)|0,f=x,x=0,!(f&1)):0){k[n>>2]=j;f=j+(g<<1)|0;k[a+16>>2]=f;sw(j|0,0,h|0)|0;k[o>>2]=f;f=k[c>>2]|0;d=k[l>>2]|0;break}g=Wa()|0;e=k[n>>2]|0;d=e;if(e){f=k[o>>2]|0;if((f|0)!=(e|0))k[o>>2]=f+(~((f+-2-d|0)>>>1)<<1);mj(e)}o=g;fb(o|0)}while(0);g=a+20|0;d=ia(f<<1,d)|0;k[g>>2]=0;h=a+24|0;k[h>>2]=0;k[a+28>>2]=0;if(!d){o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))m=13;if((m|0)==13?(x=0,e=ta(67,d|0)|0,m=x,x=0,!(m&1)):0){k[h>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[h>>2]|0)+1|0;k[h>>2]=e;d=d+-1|0}while((d|0)!=0);o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}f=Wa()|0;e=k[g>>2]|0;if(e){if((k[h>>2]|0)!=(e|0))k[h>>2]=e;mj(e)}e=k[n>>2]|0;if(!e){o=f;fb(o|0)}d=k[o>>2]|0;if((d|0)!=(e|0))k[o>>2]=d+(~((d+-2-e|0)>>>1)<<1);mj(e);o=f;fb(o|0)}function Kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;k[a>>2]=36412;k[a+4>>2]=c;n=a+8|0;f=k[c>>2]|0;l=c+16|0;d=k[l>>2]|0;g=ia(d,f)|0;k[n>>2]=0;o=a+12|0;k[o>>2]=0;k[a+16>>2]=0;do if(g){if(!((g|0)<0?(x=0,qa(178,n|0),f=x,x=0,f&1):0))m=4;if((m|0)==4?(h=g<<1,x=0,j=ta(67,h|0)|0,f=x,x=0,!(f&1)):0){k[n>>2]=j;f=j+(g<<1)|0;k[a+16>>2]=f;sw(j|0,0,h|0)|0;k[o>>2]=f;f=k[c>>2]|0;d=k[l>>2]|0;break}g=Wa()|0;e=k[n>>2]|0;d=e;if(e){f=k[o>>2]|0;if((f|0)!=(e|0))k[o>>2]=f+(~((f+-2-d|0)>>>1)<<1);mj(e)}o=g;fb(o|0)}while(0);g=a+20|0;d=ia(f<<1,d)|0;k[g>>2]=0;h=a+24|0;k[h>>2]=0;k[a+28>>2]=0;if(!d){o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))m=13;if((m|0)==13?(x=0,e=ta(67,d|0)|0,m=x,x=0,!(m&1)):0){k[h>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[h>>2]|0)+1|0;k[h>>2]=e;d=d+-1|0}while((d|0)!=0);o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}f=Wa()|0;e=k[g>>2]|0;if(e){if((k[h>>2]|0)!=(e|0))k[h>>2]=e;mj(e)}e=k[n>>2]|0;if(!e){o=f;fb(o|0)}d=k[o>>2]|0;if((d|0)!=(e|0))k[o>>2]=d+(~((d+-2-e|0)>>>1)<<1);mj(e);o=f;fb(o|0)}function Lc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;k[a>>2]=36388;k[a+4>>2]=c;n=a+8|0;f=k[c>>2]|0;l=c+16|0;d=k[l>>2]|0;g=ia(d,f)|0;k[n>>2]=0;o=a+12|0;k[o>>2]=0;k[a+16>>2]=0;do if(g){if(!((g|0)<0?(x=0,qa(178,n|0),f=x,x=0,f&1):0))m=4;if((m|0)==4?(h=g<<1,x=0,j=ta(67,h|0)|0,f=x,x=0,!(f&1)):0){k[n>>2]=j;f=j+(g<<1)|0;k[a+16>>2]=f;sw(j|0,0,h|0)|0;k[o>>2]=f;f=k[c>>2]|0;d=k[l>>2]|0;break}g=Wa()|0;e=k[n>>2]|0;d=e;if(e){f=k[o>>2]|0;if((f|0)!=(e|0))k[o>>2]=f+(~((f+-2-d|0)>>>1)<<1);mj(e)}o=g;fb(o|0)}while(0);g=a+20|0;d=ia(f<<1,d)|0;k[g>>2]=0;h=a+24|0;k[h>>2]=0;k[a+28>>2]=0;if(!d){o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))m=13;if((m|0)==13?(x=0,e=ta(67,d|0)|0,m=x,x=0,!(m&1)):0){k[h>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[h>>2]|0)+1|0;k[h>>2]=e;d=d+-1|0}while((d|0)!=0);o=a+36|0;k[o>>2]=k[b>>2];k[o+4>>2]=k[b+4>>2];k[o+8>>2]=k[b+8>>2];return}f=Wa()|0;e=k[g>>2]|0;if(e){if((k[h>>2]|0)!=(e|0))k[h>>2]=e;mj(e)}e=k[n>>2]|0;if(!e){o=f;fb(o|0)}d=k[o>>2]|0;if((d|0)!=(e|0))k[o>>2]=d+(~((d+-2-e|0)>>>1)<<1);mj(e);o=f;fb(o|0)}function Mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=a+32|0;Tm(g,b)|0;f=a+44|0;k[f>>2]=0;h=a+48|0;e=k[h>>2]|0;if(e&8){b=i[g>>0]|0;if(!(b&1)){b=((b&255)>>>1)+(g+1)|0;k[f>>2]=b;c=g+1|0;d=g+1|0}else{b=(k[a+40>>2]|0)+(k[a+36>>2]|0)|0;k[f>>2]=b;d=k[a+40>>2]|0;c=d}k[a+8>>2]=c;k[a+12>>2]=d;k[a+16>>2]=b}if(!(e&16))return;b=i[g>>0]|0;if(!(b&1)){e=(b&255)>>>1;k[f>>2]=g+1+e;b=10;f=e}else{e=k[a+36>>2]|0;k[f>>2]=(k[a+40>>2]|0)+e;b=(k[g>>2]&-2)+-1|0;f=e}Wm(g,b,0);b=i[g>>0]|0;if(!(b&1)){e=g+1|0;d=(b&255)>>>1;c=g+1|0}else{c=k[a+40>>2]|0;e=c;d=k[a+36>>2]|0}b=a+24|0;k[b>>2]=c;k[a+20>>2]=c;k[a+28>>2]=e+d;if(!(k[h>>2]&3))return;k[b>>2]=c+f;return}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;g=o+16|0;n=o+8|0;h=o;x=0;ra(65,n|0,a|0);l=x;x=0;a:do if(l&1){c=Wa(0)|0;d=a;e=a}else{do if(i[n>>0]|0){d=k[(k[a>>2]|0)+-12>>2]|0;k[h>>2]=k[a+(d+24)>>2];j=a+d|0;l=k[a+(d+4)>>2]|0;e=b+c|0;d=a+(d+76)|0;c=k[d>>2]|0;do if((c|0)==-1){x=0;c=ta(68,j|0)|0;p=x;x=0;if(p&1)m=13;else{k[g>>2]=c;x=0;c=Aa(37,g|0,44220)|0;p=x;x=0;if(!(p&1)?(x=0,f=Aa(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0,p=x,x=0,!(p&1)):0){Qs(g);c=f<<24>>24;k[d>>2]=c;m=9;break}c=Wa(0)|0;Qs(g)}}else m=9;while(0);if((m|0)==9){x=0;k[g>>2]=k[h>>2];c=sa(39,g|0,b|0,((l&176|0)==32?e:b)|0,e|0,j|0,c&255|0)|0;p=x;x=0;if(!(p&1)){if(c)break;p=k[(k[a>>2]|0)+-12>>2]|0;x=0;ra(66,a+p|0,k[a+(p+16)>>2]|5|0);p=x;x=0;if(!(p&1))break;else m=13}else m=13}if((m|0)==13)c=Wa(0)|0;ro(n);d=a;e=a;break a}while(0);ro(n);r=o;return a|0}while(0);cb(c|0)|0;x=0;qa(181,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);p=x;x=0;if(!(p&1)){eb();r=o;return a|0}c=Wa()|0;x=0;Ga(3);p=x;x=0;if(p&1){p=Wa(0)|0;oc(p)}else fb(c|0);return 0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=k[b+48>>2]|0;if(c&16){c=b+44|0;d=k[c>>2]|0;e=k[b+24>>2]|0;if(d>>>0>>0)k[c>>2]=e;else e=d;d=k[b+20>>2]|0;f=e-d|0;if(f>>>0>4294967279)ij(a);if(f>>>0<11){i[a>>0]=f<<1;c=a+1|0}else{b=f+16&-16;c=lj(b)|0;k[a+8>>2]=c;k[a>>2]=b|1;k[a+4>>2]=f}if((d|0)!=(e|0)){b=c;while(1){i[b>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else b=b+1|0}c=c+f|0}i[c>>0]=0;return}if(!(c&8)){k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}d=k[b+8>>2]|0;b=k[b+16>>2]|0;f=b-d|0;if(f>>>0>4294967279)ij(a);if(f>>>0<11){i[a>>0]=f<<1;c=a+1|0}else{e=f+16&-16;c=lj(e)|0;k[a+8>>2]=c;k[a>>2]=e|1;k[a+4>>2]=f}if((d|0)!=(b|0)){e=c;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+1|0}c=c+f|0}i[c>>0]=0;return}function Pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;k[a>>2]=36364;k[a+4>>2]=c;o=a+8|0;g=k[c>>2]|0;m=c+16|0;f=k[m>>2]|0;l=ia(f,g)|0;k[o>>2]=0;p=a+12|0;k[p>>2]=0;k[a+16>>2]=0;do if(l){if(!((l|0)<0?(x=0,qa(178,o|0),g=x,x=0,g&1):0))n=4;if((n|0)==4?(h=l<<1,x=0,j=ta(67,h|0)|0,g=x,x=0,!(g&1)):0){k[o>>2]=j;g=j+(l<<1)|0;k[a+16>>2]=g;sw(j|0,0,h|0)|0;k[p>>2]=g;g=k[c>>2]|0;f=k[m>>2]|0;break}h=Wa()|0;e=k[o>>2]|0;f=e;if(e){g=k[p>>2]|0;if((g|0)!=(e|0))k[p>>2]=g+(~((g+-2-f|0)>>>1)<<1);mj(e)}p=h;fb(p|0)}while(0);h=a+20|0;f=ia(g<<1,f)|0;k[h>>2]=0;j=a+24|0;k[j>>2]=0;k[a+28>>2]=0;if(!f){p=a+32|0;o=d;o=k[o>>2]|0;d=d+4|0;d=k[d>>2]|0;n=p;k[n>>2]=o;p=p+4|0;k[p>>2]=d;p=a+40|0;k[p>>2]=o;p=a+48|0;k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];return}if(!((f|0)<0?(x=0,qa(178,h|0),m=x,x=0,m&1):0))n=13;if((n|0)==13?(x=0,e=ta(67,f|0)|0,n=x,x=0,!(n&1)):0){k[j>>2]=e;k[h>>2]=e;k[a+28>>2]=e+f;do{i[e>>0]=0;e=(k[j>>2]|0)+1|0;k[j>>2]=e;f=f+-1|0}while((f|0)!=0);p=a+32|0;o=d;o=k[o>>2]|0;d=d+4|0;d=k[d>>2]|0;n=p;k[n>>2]=o;p=p+4|0;k[p>>2]=d;p=a+40|0;k[p>>2]=o;p=a+48|0;k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];return}g=Wa()|0;e=k[h>>2]|0;if(e){if((k[j>>2]|0)!=(e|0))k[j>>2]=e;mj(e)}e=k[o>>2]|0;if(!e){p=g;fb(p|0)}f=k[p>>2]|0;if((f|0)!=(e|0))k[p>>2]=f+(~((f+-2-e|0)>>>1)<<1);mj(e);p=g;fb(p|0)}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;k[a>>2]=36340;k[a+4>>2]=c;o=a+8|0;g=k[c>>2]|0;m=c+16|0;f=k[m>>2]|0;l=ia(f,g)|0;k[o>>2]=0;p=a+12|0;k[p>>2]=0;k[a+16>>2]=0;do if(l){if(!((l|0)<0?(x=0,qa(178,o|0),g=x,x=0,g&1):0))n=4;if((n|0)==4?(h=l<<1,x=0,j=ta(67,h|0)|0,g=x,x=0,!(g&1)):0){k[o>>2]=j;g=j+(l<<1)|0;k[a+16>>2]=g;sw(j|0,0,h|0)|0;k[p>>2]=g;g=k[c>>2]|0;f=k[m>>2]|0;break}h=Wa()|0;e=k[o>>2]|0;f=e;if(e){g=k[p>>2]|0;if((g|0)!=(e|0))k[p>>2]=g+(~((g+-2-f|0)>>>1)<<1);mj(e)}p=h;fb(p|0)}while(0);h=a+20|0;f=ia(g<<1,f)|0;k[h>>2]=0;j=a+24|0;k[j>>2]=0;k[a+28>>2]=0;if(!f){p=a+32|0;o=d;o=k[o>>2]|0;d=d+4|0;d=k[d>>2]|0;n=p;k[n>>2]=o;p=p+4|0;k[p>>2]=d;p=a+40|0;k[p>>2]=o;p=a+48|0;k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];return}if(!((f|0)<0?(x=0,qa(178,h|0),m=x,x=0,m&1):0))n=13;if((n|0)==13?(x=0,e=ta(67,f|0)|0,n=x,x=0,!(n&1)):0){k[j>>2]=e;k[h>>2]=e;k[a+28>>2]=e+f;do{i[e>>0]=0;e=(k[j>>2]|0)+1|0;k[j>>2]=e;f=f+-1|0}while((f|0)!=0);p=a+32|0;o=d;o=k[o>>2]|0;d=d+4|0;d=k[d>>2]|0;n=p;k[n>>2]=o;p=p+4|0;k[p>>2]=d;p=a+40|0;k[p>>2]=o;p=a+48|0;k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];return}g=Wa()|0;e=k[h>>2]|0;if(e){if((k[j>>2]|0)!=(e|0))k[j>>2]=e;mj(e)}e=k[o>>2]|0;if(!e){p=g;fb(p|0)}f=k[p>>2]|0;if((f|0)!=(e|0))k[p>>2]=f+(~((f+-2-e|0)>>>1)<<1);mj(e);p=g;fb(p|0)}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;k[a>>2]=36316;k[a+4>>2]=c;o=a+8|0;g=k[c>>2]|0;m=c+16|0;f=k[m>>2]|0;l=ia(f,g)|0;k[o>>2]=0;p=a+12|0;k[p>>2]=0;k[a+16>>2]=0;do if(l){if(!((l|0)<0?(x=0,qa(178,o|0),g=x,x=0,g&1):0))n=4;if((n|0)==4?(h=l<<1,x=0,j=ta(67,h|0)|0,g=x,x=0,!(g&1)):0){k[o>>2]=j;g=j+(l<<1)|0;k[a+16>>2]=g;sw(j|0,0,h|0)|0;k[p>>2]=g;g=k[c>>2]|0;f=k[m>>2]|0;break}h=Wa()|0;e=k[o>>2]|0;f=e;if(e){g=k[p>>2]|0;if((g|0)!=(e|0))k[p>>2]=g+(~((g+-2-f|0)>>>1)<<1);mj(e)}p=h;fb(p|0)}while(0);h=a+20|0;f=ia(g<<1,f)|0;k[h>>2]=0;j=a+24|0;k[j>>2]=0;k[a+28>>2]=0;if(!f){p=a+32|0;o=d;o=k[o>>2]|0;d=d+4|0;d=k[d>>2]|0;n=p;k[n>>2]=o;p=p+4|0;k[p>>2]=d;p=a+40|0;k[p>>2]=o;p=a+48|0;k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];return}if(!((f|0)<0?(x=0,qa(178,h|0),m=x,x=0,m&1):0))n=13;if((n|0)==13?(x=0,e=ta(67,f|0)|0,n=x,x=0,!(n&1)):0){k[j>>2]=e;k[h>>2]=e;k[a+28>>2]=e+f;do{i[e>>0]=0;e=(k[j>>2]|0)+1|0;k[j>>2]=e;f=f+-1|0}while((f|0)!=0);p=a+32|0;o=d;o=k[o>>2]|0;d=d+4|0;d=k[d>>2]|0;n=p;k[n>>2]=o;p=p+4|0;k[p>>2]=d;p=a+40|0;k[p>>2]=o;p=a+48|0;k[p>>2]=k[b>>2];k[p+4>>2]=k[b+4>>2];k[p+8>>2]=k[b+8>>2];return}g=Wa()|0;e=k[h>>2]|0;if(e){if((k[j>>2]|0)!=(e|0))k[j>>2]=e;mj(e)}e=k[o>>2]|0;if(!e){p=g;fb(p|0)}f=k[p>>2]|0;if((f|0)!=(e|0))k[p>>2]=f+(~((f+-2-e|0)>>>1)<<1);mj(e);p=g;fb(p|0)}function Sc(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36316;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);return}function Tc(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36316;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d){mj(a);return}b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);mj(a);return}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=a+48|0;if(!(k[e>>2]|0)){h=a+52|0;Zc(a,b,k[h>>2]|0,c,d);k[h>>2]=(k[h>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}j=a+4|0;f=c<<1;g=ia(f,k[(k[j>>2]|0)+16>>2]|0)|0;h=a+20|0;Zc(a,b,k[h>>2]|0,c,d);b=k[j>>2]|0;if((k[b+28>>2]|0)==536870912)Yc(k[h>>2]|0,ia(f,k[b+16>>2]|0)|0);j=k[e>>2]|0;if((Qb[k[(k[j>>2]|0)+48>>2]&63](j,k[h>>2]|0,g)|0)==(g|0))return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,3,35648);j=x;x=0;if(j&1){j=Wa()|0;Ua(b|0);fb(j|0)}else ub(b|0,824,96)}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+48>>2]|0;if(!e){e=a+52|0;Wc(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{Xc(a,e,b,c,d);return}}function Wc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0;l=a+4|0;f=k[l>>2]|0;do if(!(i[f+32>>0]|0))n=b;else{g=a+8|0;vw(k[g>>2]|0,b|0,d*6|0)|0;f=k[l>>2]|0;h=k[f+16>>2]|0;if((d|0)<=0){n=k[g>>2]|0;break}b=k[g>>2]|0;f=b;g=0;while(1){n=f+4|0;o=j[f>>1]|0;j[f>>1]=j[n>>1]|0;j[n>>1]=o;g=g+1|0;if((g|0)==(d|0))break;else f=f+(h<<1)|0}n=b;f=k[l>>2]|0}while(0);switch(k[f+16>>2]|0){case 3:if((k[f+24>>2]|0)==2){if((d|0)<=0)return;f=a+32|0;b=0;do{o=k[f>>2]|0;l=m[n+(b*6|0)+2>>1]<>1]<>1]<>1]=(l+49152+((a+e|0)>>>2)&65535)>>>o;j[c+(b*6|0)+2>>1]=a>>>o;j[c+(b*6|0)+4>>1]=e>>>o;b=b+1|0}while((b|0)!=(d|0));return}else{g=(e|0)<(d|0)?e:d;if((g|0)<=0)return;h=e<<1;f=k[a+32>>2]|0;b=0;do{d=m[n+(b*6|0)+2>>1]<>1]<>1]<>1]=(d+49152+((a+o|0)>>>2)&65535)>>>f;j[c+(b+e<<1)>>1]=a>>>f;j[c+(b+h<<1)>>1]=o>>>f;b=b+1|0}while((b|0)!=(g|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;g=(e|0)<(d|0)?e:d;if((g|0)<=0)return;h=e<<1;l=e*3|0;f=k[a+32>>2]|0;b=0;do{o=j[n+(b<<3)+6>>1]|0;p=m[n+(b<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((d+a|0)>>>2)&65535)>>>f;j[c+(b+e<<1)>>1]=d>>>f;j[c+(b+h<<1)>>1]=a>>>f;j[c+(b+l<<1)>>1]=o;b=b+1|0}while((b|0)!=(g|0));return}default:return}}function Xc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+176|0;o=n+152|0;q=n+16|0;p=n;j=a+4|0;f=k[j>>2]|0;m=d<<1;g=ia(m,k[f+16>>2]|0)|0;do if(g){h=a+20|0;while(1){f=Qb[k[(k[b>>2]|0)+32>>2]&63](b,k[h>>2]|0,g)|0;if(!f)break;if((g|0)==(f|0)){l=26;break}else g=g-f|0}if((l|0)==26){f=k[j>>2]|0;break}l=q+56|0;j=q+4|0;k[q>>2]=36160;k[l>>2]=36180;x=0;ra(62,q+56|0,j|0);n=x;x=0;if(n&1){q=Wa()|0;qn(l);fb(q|0)}k[q+128>>2]=0;k[q+132>>2]=-1;k[q>>2]=36200;k[q+56>>2]=36220;x=0;qa(180,j|0);n=x;x=0;do if(n&1)f=Wa()|0;else{k[j>>2]=36236;b=q+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[q+52>>2]=16;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;ra(63,j|0,o|0);n=x;x=0;if(n&1){f=Wa()|0;Sm(o);Sm(b);xn(j);break}Sm(o);x=0;f=va(28,q|0,49029,57)|0;o=x;x=0;if(!(o&1)?(x=0,Aa(36,f|0,0)|0,o=x,x=0,!(o&1)):0){h=Va(16)|0;x=0;ra(64,p|0,j|0);o=x;x=0;if(!(o&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(p);if(!g){p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}}else f=Wa()|0;Ua(h|0);p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}p=Wa()|0;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}while(0);q=f;qn(l);fb(q|0)}while(0);g=a+20|0;if((k[f+28>>2]|0)!=536870912){q=k[g>>2]|0;Wc(a,q,c,d,e);r=n;return}Yc(k[g>>2]|0,ia(m,k[f+16>>2]|0)|0);q=k[g>>2]|0;Wc(a,q,c,d,e);r=n;return}function Yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=r;r=r+176|0;c=e+152|0;j=e+16|0;g=e;if(!(b&1)){c=(b|0)/4|0;if((b|0)>3){d=0;do{j=a+(d<<2)|0;h=k[j>>2]|0;k[j>>2]=h>>>8&16711935|h<<8&-16711936;d=d+1|0}while((d|0)<(c|0))}if(!(b&3)){r=e;return}g=a+(b+-2)|0;j=a+(b+-1)|0;h=i[g>>0]|0;i[g>>0]=i[j>>0]|0;i[j>>0]=h;r=e;return}h=j+56|0;f=j+4|0;k[j>>2]=36160;k[h>>2]=36180;x=0;ra(62,j+56|0,f|0);e=x;x=0;if(e&1){j=Wa()|0;qn(h);fb(j|0)}k[j+128>>2]=0;k[j+132>>2]=-1;k[j>>2]=36200;k[j+56>>2]=36220;x=0;qa(180,f|0);e=x;x=0;do if(e&1)c=Wa()|0;else{k[f>>2]=36236;e=j+36|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[j+52>>2]=16;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;x=0;ra(63,f|0,c|0);a=x;x=0;if(a&1){j=Wa()|0;Sm(c);Sm(e);xn(f);c=j;break}Sm(c);x=0;c=va(28,j|0,49087,24)|0;a=x;x=0;if((!(a&1)?(x=0,d=Aa(36,c|0,b|0)|0,b=x,x=0,!(b&1)):0)?(x=0,va(28,d|0,49112,20)|0,b=x,x=0,!(b&1)):0){a=Va(16)|0;x=0;ra(64,g|0,f|0);b=x;x=0;if(!(b&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,a|0,1,35648,g|0);b=x;x=0;if(b&1)d=1;else{x=0;Fa(6,a|0,824,96);x=0;d=0}c=Wa()|0;Sm(g);if(!d){g=c;k[j>>2]=36200;k[h>>2]=36220;k[f>>2]=36236;Sm(e);xn(f);qn(h);fb(g|0)}}else c=Wa()|0;Ua(a|0);g=c;k[j>>2]=36200;k[h>>2]=36220;k[f>>2]=36236;Sm(e);xn(f);qn(h);fb(g|0)}g=Wa()|0;k[j>>2]=36200;k[h>>2]=36220;k[f>>2]=36236;Sm(e);xn(f);qn(h);fb(g|0)}while(0);j=c;qn(h);fb(j|0)}function Zc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;f=k[n>>2]|0;a:do switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)<=0)break a;f=a+40|0;a=0;do{e=k[f>>2]|0;h=m[b+(a*6|0)+2>>1]<>1]<>1]<>2)+16384|0;j[c+(a*6|0)>>1]=(g+32768+l&65535)>>>e;j[c+(a*6|0)+2>>1]=(l&65535)>>>e;j[c+(a*6|0)+4>>1]=(h+32768+l&65535)>>>e;a=a+1|0}while((a|0)!=(d|0))}else{g=(d|0)<(e|0)?d:e;if((g|0)<=0)break a;h=e<<1;f=a+40|0;a=0;do{l=k[f>>2]|0;p=m[b+(a+e<<1)>>1]<>1]<>1]<>2)+16384|0;j[c+(a*6|0)>>1]=(q+32768+o&65535)>>>l;j[c+(a*6|0)+2>>1]=(o&65535)>>>l;j[c+(a*6|0)+4>>1]=(p+32768+o&65535)>>>l;a=a+1|0}while((a|0)!=(g|0))}break}case 4:{if((k[f+24>>2]|0)==1?(l=(d|0)<(e|0)?d:e,(l|0)>0):0){h=e<<1;f=a+40|0;a=e*3|0;g=0;do{q=k[f>>2]|0;p=m[b+(g+e<<1)>>1]<>1]<>1]<>2)+16384|0;r=j[b+(g+a<<1)>>1]|0;t=ww((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|M;r=ww(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|M;q=c+(g<<3)|0;o=q;j[o>>1]=r;j[o+2>>1]=r>>>16;q=q+4|0;j[q>>1]=p;j[q+2>>1]=p>>>16;g=g+1|0}while((g|0)!=(l|0))}break}default:{}}while(0);f=k[n>>2]|0;if(!(i[f+32>>0]|0))return;g=k[f+16>>2]|0;if((d|0)<=0)return;f=c;a=0;while(1){t=f+4|0;s=j[f>>1]|0;j[f>>1]=j[t>>1]|0;j[t>>1]=s;a=a+1|0;if((a|0)==(d|0))break;else f=f+(g<<1)|0}return}function _c(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36340;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);return}function $c(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36340;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d){mj(a);return}b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);mj(a);return}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=a+48|0;if(!(k[e>>2]|0)){h=a+52|0;ed(a,b,k[h>>2]|0,c,d);k[h>>2]=(k[h>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}j=a+4|0;f=c<<1;g=ia(f,k[(k[j>>2]|0)+16>>2]|0)|0;h=a+20|0;ed(a,b,k[h>>2]|0,c,d);b=k[j>>2]|0;if((k[b+28>>2]|0)==536870912)Yc(k[h>>2]|0,ia(f,k[b+16>>2]|0)|0);j=k[e>>2]|0;if((Qb[k[(k[j>>2]|0)+48>>2]&63](j,k[h>>2]|0,g)|0)==(g|0))return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,3,35648);j=x;x=0;if(j&1){j=Wa()|0;Ua(b|0);fb(j|0)}else ub(b|0,824,96)}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+48>>2]|0;if(!e){e=a+52|0;cd(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{dd(a,e,b,c,d);return}}function cd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0;l=a+4|0;f=k[l>>2]|0;do if(!(i[f+32>>0]|0))n=b;else{g=a+8|0;vw(k[g>>2]|0,b|0,d*6|0)|0;f=k[l>>2]|0;h=k[f+16>>2]|0;if((d|0)<=0){n=k[g>>2]|0;break}b=k[g>>2]|0;f=b;g=0;while(1){n=f+4|0;o=j[f>>1]|0;j[f>>1]=j[n>>1]|0;j[n>>1]=o;g=g+1|0;if((g|0)==(d|0))break;else f=f+(h<<1)|0}n=b;f=k[l>>2]|0}while(0);switch(k[f+16>>2]|0){case 3:if((k[f+24>>2]|0)==2){if((d|0)<=0)return;f=a+32|0;b=0;do{e=k[f>>2]|0;l=m[n+(b*6|0)>>1]<>1]<>1]<>>1)&65535)>>>e&65535;j[c+(b*6|0)>>1]=(l+32768-a&65535)>>>e;j[c+(b*6|0)+2>>1]=(a&65535)>>>e;j[c+(b*6|0)+4>>1]=o;b=b+1|0}while((b|0)!=(d|0));return}else{g=(e|0)<(d|0)?e:d;if((g|0)<=0)return;h=e<<1;f=k[a+32>>2]|0;b=0;do{d=m[n+(b*6|0)>>1]<>1]<>1]<>>1)&65535)>>>f&65535;j[c+(b<<1)>>1]=(d+32768-a&65535)>>>f;j[c+(b+e<<1)>>1]=(a&65535)>>>f;j[c+(b+h<<1)>>1]=o;b=b+1|0}while((b|0)!=(g|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;g=(e|0)<(d|0)?e:d;if((g|0)<=0)return;h=e<<1;l=e*3|0;f=k[a+32>>2]|0;b=0;do{o=j[n+(b<<3)+6>>1]|0;p=m[n+(b<<3)>>1]<>1]<>1]<>>1)&65535)>>>f&65535;j[c+(b<<1)>>1]=(p+32768-d&65535)>>>f;j[c+(b+e<<1)>>1]=(d&65535)>>>f;j[c+(b+h<<1)>>1]=a;j[c+(b+l<<1)>>1]=o;b=b+1|0}while((b|0)!=(g|0));return}default:return}}function dd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+176|0;o=n+152|0;q=n+16|0;p=n;j=a+4|0;f=k[j>>2]|0;m=d<<1;g=ia(m,k[f+16>>2]|0)|0;do if(g){h=a+20|0;while(1){f=Qb[k[(k[b>>2]|0)+32>>2]&63](b,k[h>>2]|0,g)|0;if(!f)break;if((g|0)==(f|0)){l=26;break}else g=g-f|0}if((l|0)==26){f=k[j>>2]|0;break}l=q+56|0;j=q+4|0;k[q>>2]=36160;k[l>>2]=36180;x=0;ra(62,q+56|0,j|0);n=x;x=0;if(n&1){q=Wa()|0;qn(l);fb(q|0)}k[q+128>>2]=0;k[q+132>>2]=-1;k[q>>2]=36200;k[q+56>>2]=36220;x=0;qa(180,j|0);n=x;x=0;do if(n&1)f=Wa()|0;else{k[j>>2]=36236;b=q+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[q+52>>2]=16;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;ra(63,j|0,o|0);n=x;x=0;if(n&1){f=Wa()|0;Sm(o);Sm(b);xn(j);break}Sm(o);x=0;f=va(28,q|0,49029,57)|0;o=x;x=0;if(!(o&1)?(x=0,Aa(36,f|0,0)|0,o=x,x=0,!(o&1)):0){h=Va(16)|0;x=0;ra(64,p|0,j|0);o=x;x=0;if(!(o&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(p);if(!g){p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}}else f=Wa()|0;Ua(h|0);p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}p=Wa()|0;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}while(0);q=f;qn(l);fb(q|0)}while(0);g=a+20|0;if((k[f+28>>2]|0)!=536870912){q=k[g>>2]|0;cd(a,q,c,d,e);r=n;return}Yc(k[g>>2]|0,ia(m,k[f+16>>2]|0)|0);q=k[g>>2]|0;cd(a,q,c,d,e);r=n;return}function ed(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;n=a+4|0;f=k[n>>2]|0;a:do switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)<=0)break a;f=a+40|0;a=0;do{l=k[f>>2]|0;h=m[b+(a*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>l&65535;j[c+(a*6|0)>>1]=g>>>l;j[c+(a*6|0)+2>>1]=h>>>l;j[c+(a*6|0)+4>>1]=e;a=a+1|0}while((a|0)!=(d|0))}else{g=(d|0)<(e|0)?d:e;if((g|0)<=0)break a;h=e<<1;f=a+40|0;a=0;do{o=k[f>>2]|0;p=m[b+(a+e<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;j[c+(a*6|0)>>1]=q>>>o;j[c+(a*6|0)+2>>1]=p>>>o;j[c+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(g|0))}break}case 4:{if((k[f+24>>2]|0)==1?(l=(d|0)<(e|0)?d:e,(l|0)>0):0){h=e<<1;f=a+40|0;a=e*3|0;g=0;do{o=k[f>>2]|0;q=m[b+(g+e<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=j[b+(g+a<<1)>>1]|0;q=ww(q>>>o&65535|0,0,16)|0;p=M|p;r=ww(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|M;q=c+(g<<3)|0;o=q;j[o>>1]=r;j[o+2>>1]=r>>>16;q=q+4|0;j[q>>1]=p;j[q+2>>1]=p>>>16;g=g+1|0}while((g|0)!=(l|0))}break}default:{}}while(0);f=k[n>>2]|0;if(!(i[f+32>>0]|0))return;g=k[f+16>>2]|0;if((d|0)<=0)return;f=c;a=0;while(1){s=f+4|0;r=j[f>>1]|0;j[f>>1]=j[s>>1]|0;j[s>>1]=r;a=a+1|0;if((a|0)==(d|0))break;else f=f+(g<<1)|0}return}function fd(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36364;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);return}function gd(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36364;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d){mj(a);return}b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);mj(a);return}function hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=a+48|0;if(!(k[e>>2]|0)){h=a+52|0;ld(a,b,k[h>>2]|0,c,d);k[h>>2]=(k[h>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}j=a+4|0;f=c<<1;g=ia(f,k[(k[j>>2]|0)+16>>2]|0)|0;h=a+20|0;ld(a,b,k[h>>2]|0,c,d);b=k[j>>2]|0;if((k[b+28>>2]|0)==536870912)Yc(k[h>>2]|0,ia(f,k[b+16>>2]|0)|0);j=k[e>>2]|0;if((Qb[k[(k[j>>2]|0)+48>>2]&63](j,k[h>>2]|0,g)|0)==(g|0))return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,3,35648);j=x;x=0;if(j&1){j=Wa()|0;Ua(b|0);fb(j|0)}else ub(b|0,824,96)}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+48>>2]|0;if(!e){e=a+52|0;jd(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{kd(a,e,b,c,d);return}}function jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0;l=a+4|0;f=k[l>>2]|0;do if(!(i[f+32>>0]|0))n=b;else{g=a+8|0;vw(k[g>>2]|0,b|0,d*6|0)|0;f=k[l>>2]|0;h=k[f+16>>2]|0;if((d|0)<=0){n=k[g>>2]|0;break}b=k[g>>2]|0;f=b;g=0;while(1){n=f+4|0;o=j[f>>1]|0;j[f>>1]=j[n>>1]|0;j[n>>1]=o;g=g+1|0;if((g|0)==(d|0))break;else f=f+(h<<1)|0}n=b;f=k[l>>2]|0}while(0);switch(k[f+16>>2]|0){case 3:if((k[f+24>>2]|0)==2){if((d|0)<=0)return;f=a+32|0;b=0;do{e=k[f>>2]|0;a=m[n+(b*6|0)+2>>1]<>1]<>>e&65535;j[c+(b*6|0)>>1]=((m[n+(b*6|0)>>1]<>>e;j[c+(b*6|0)+2>>1]=(a&65535)>>>e;j[c+(b*6|0)+4>>1]=o;b=b+1|0}while((b|0)!=(d|0));return}else{g=(e|0)<(d|0)?e:d;if((g|0)<=0)return;h=e<<1;f=k[a+32>>2]|0;b=0;do{a=m[n+(b*6|0)+2>>1]<>1]<>>f&65535;j[c+(b<<1)>>1]=((m[n+(b*6|0)>>1]<>>f;j[c+(b+e<<1)>>1]=(a&65535)>>>f;j[c+(b+h<<1)>>1]=o;b=b+1|0}while((b|0)!=(g|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;h=(e|0)<(d|0)?e:d;if((h|0)<=0)return;l=e<<1;g=e*3|0;f=k[a+32>>2]|0;b=0;do{o=j[n+(b<<3)+6>>1]|0;d=m[n+(b<<3)+2>>1]<>1]<>>f&65535;j[c+(b<<1)>>1]=((m[n+(b<<3)>>1]<>>f;j[c+(b+e<<1)>>1]=(d&65535)>>>f;j[c+(b+l<<1)>>1]=a;j[c+(b+g<<1)>>1]=o;b=b+1|0}while((b|0)!=(h|0));return}default:return}}function kd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+176|0;o=n+152|0;q=n+16|0;p=n;j=a+4|0;f=k[j>>2]|0;m=d<<1;g=ia(m,k[f+16>>2]|0)|0;do if(g){h=a+20|0;while(1){f=Qb[k[(k[b>>2]|0)+32>>2]&63](b,k[h>>2]|0,g)|0;if(!f)break;if((g|0)==(f|0)){l=26;break}else g=g-f|0}if((l|0)==26){f=k[j>>2]|0;break}l=q+56|0;j=q+4|0;k[q>>2]=36160;k[l>>2]=36180;x=0;ra(62,q+56|0,j|0);n=x;x=0;if(n&1){q=Wa()|0;qn(l);fb(q|0)}k[q+128>>2]=0;k[q+132>>2]=-1;k[q>>2]=36200;k[q+56>>2]=36220;x=0;qa(180,j|0);n=x;x=0;do if(n&1)f=Wa()|0;else{k[j>>2]=36236;b=q+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[q+52>>2]=16;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;ra(63,j|0,o|0);n=x;x=0;if(n&1){f=Wa()|0;Sm(o);Sm(b);xn(j);break}Sm(o);x=0;f=va(28,q|0,49029,57)|0;o=x;x=0;if(!(o&1)?(x=0,Aa(36,f|0,0)|0,o=x,x=0,!(o&1)):0){h=Va(16)|0;x=0;ra(64,p|0,j|0);o=x;x=0;if(!(o&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(p);if(!g){p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}}else f=Wa()|0;Ua(h|0);p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}p=Wa()|0;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}while(0);q=f;qn(l);fb(q|0)}while(0);g=a+20|0;if((k[f+28>>2]|0)!=536870912){q=k[g>>2]|0;jd(a,q,c,d,e);r=n;return}Yc(k[g>>2]|0,ia(m,k[f+16>>2]|0)|0);q=k[g>>2]|0;jd(a,q,c,d,e);r=n;return}function ld(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;n=a+4|0;f=k[n>>2]|0;a:do switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)<=0)break a;f=a+40|0;a=0;do{l=k[f>>2]|0;h=m[b+(a*6|0)+2>>1]<>1]<>>l&65535;j[c+(a*6|0)>>1]=((m[b+(a*6|0)>>1]<>>l;j[c+(a*6|0)+2>>1]=(h&65535)>>>l;j[c+(a*6|0)+4>>1]=e;a=a+1|0}while((a|0)!=(d|0))}else{g=(d|0)<(e|0)?d:e;if((g|0)<=0)break a;h=e<<1;f=a+40|0;a=0;do{o=k[f>>2]|0;p=m[b+(a+e<<1)>>1]<>1]<>>o&65535;j[c+(a*6|0)>>1]=((m[b+(a<<1)>>1]<>>o;j[c+(a*6|0)+2>>1]=(p&65535)>>>o;j[c+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(g|0))}break}case 4:{if((k[f+24>>2]|0)==1?(l=(d|0)<(e|0)?d:e,(l|0)>0):0){h=e<<1;f=a+40|0;a=e*3|0;g=0;do{q=k[f>>2]|0;s=m[b+(g+e<<1)>>1]<>1]<>>q;o=(s+32768+(m[b+(g+h<<1)>>1]<>>q;r=j[b+(g+a<<1)>>1]|0;q=ww((s&65535)>>>q&65535|0,0,16)|0;o=o|M;r=ww(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|M;p=c+(g<<3)|0;q=p;j[q>>1]=r;j[q+2>>1]=r>>>16;p=p+4|0;j[p>>1]=o;j[p+2>>1]=o>>>16;g=g+1|0}while((g|0)!=(l|0))}break}default:{}}while(0);f=k[n>>2]|0;if(!(i[f+32>>0]|0))return;g=k[f+16>>2]|0;if((d|0)<=0)return;f=c;a=0;while(1){s=f+4|0;r=j[f>>1]|0;j[f>>1]=j[s>>1]|0;j[s>>1]=r;a=a+1|0;if((a|0)==(d|0))break;else f=f+(g<<1)|0}return}function md(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+16|0;l=n;m=k[a>>2]|0;if(!m){a=0;r=n;return a|0}o=b;h=d-o|0;j=e+12|0;g=k[j>>2]|0;h=(g|0)>(h|0)?g-h|0:0;g=c;e=g-o|0;if((e|0)>0?(Qb[k[(k[m>>2]|0)+48>>2]&63](m,b,e)|0)!=(e|0):0){k[a>>2]=0;o=0;r=n;return o|0}do if((h|0)>0){Rm(l,h,f);x=0;e=va(k[(k[m>>2]|0)+48>>2]|0,m|0,((i[l>>0]&1)==0?l+1|0:k[l+8>>2]|0)|0,h|0)|0;o=x;x=0;if(o&1){o=Wa()|0;Sm(l);fb(o|0)}if((e|0)==(h|0)){Sm(l);break}k[a>>2]=0;Sm(l);o=0;r=n;return o|0}while(0);d=d-g|0;if((d|0)>0?(Qb[k[(k[m>>2]|0)+48>>2]&63](m,c,d)|0)!=(d|0):0){k[a>>2]=0;o=0;r=n;return o|0}k[j>>2]=0;o=m;r=n;return o|0}function nd(a){a=a|0;k[a>>2]=36236;Sm(a+32|0);xn(a);return}function od(a){a=a|0;k[a>>2]=36236;Sm(a+32|0);xn(a);mj(a);return}function pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0;g=b+44|0;h=k[g>>2]|0;l=b+24|0;m=k[l>>2]|0;if(h>>>0>>0){k[g>>2]=m;h=m}j=h;g=f&24;if(!g){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}if((e|0)==1&(g|0)==24){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}a:do switch(e|0){case 0:{g=0;e=0;break}case 1:if(!(f&8)){e=m-(k[b+20>>2]|0)|0;g=e;e=((e|0)<0)<<31>>31;break a}else{e=(k[b+12>>2]|0)-(k[b+8>>2]|0)|0;g=e;e=((e|0)<0)<<31>>31;break a}case 2:{g=b+32|0;if(!(i[g>>0]&1))g=g+1|0;else g=k[b+40>>2]|0;e=h-g|0;g=e;e=((e|0)<0)<<31>>31;break}default:{b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}}while(0);e=tw(g|0,e|0,c|0,d|0)|0;c=M;if((c|0)>=0){g=b+32|0;if(!(i[g>>0]&1))g=g+1|0;else g=k[b+40>>2]|0;d=h-g|0;h=((d|0)<0)<<31>>31;if(!((h|0)<(c|0)|(h|0)==(c|0)&d>>>0>>0)){g=f&8;if(!((e|0)==0&(c|0)==0)){if((g|0)!=0?(k[b+12>>2]|0)==0:0){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}if((f&16|0)!=0&(m|0)==0){b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}}if(g){k[b+12>>2]=(k[b+8>>2]|0)+e;k[b+16>>2]=j}if(f&16)k[l>>2]=(k[b+20>>2]|0)+e;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=e;k[b+4>>2]=c;return}}b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function qd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=c+8|0;Sb[k[(k[b>>2]|0)+16>>2]&15](a,b,k[c>>2]|0,k[c+4>>2]|0,0,d);return}function rd(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+44|0;c=k[b>>2]|0;d=k[a+24>>2]|0;if(c>>>0>>0){k[b>>2]=d;c=d}if(!(k[a+48>>2]&8)){a=-1;return a|0}e=a+16|0;b=k[e>>2]|0;d=a+12|0;if(b>>>0>>0){d=k[d>>2]|0;k[e>>2]=c;b=c}else d=k[d>>2]|0;if(d>>>0>=b>>>0){a=-1;return a|0}a=l[d>>0]|0;return a|0}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=a+44|0;c=k[d>>2]|0;e=k[a+24>>2]|0;if(c>>>0>>0){k[d>>2]=e;c=e}h=a+8|0;d=k[h>>2]|0;j=a+12|0;f=k[j>>2]|0;g=d;if(d>>>0>=f>>>0){a=-1;return a|0}if((b|0)==-1){k[h>>2]=d;k[j>>2]=f+-1;k[a+16>>2]=c;a=0;return a|0}if(!(k[a+48>>2]&16)){e=b&255;d=f+-1|0;if(e<<24>>24!=(i[d>>0]|0)){a=-1;return a|0}}else{e=b&255;d=f+-1|0}k[h>>2]=g;k[j>>2]=d;k[a+16>>2]=c;i[d>>0]=e;a=b;return a|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+16|0;m=s;if((b|0)==-1){a=0;r=s;return a|0}n=a+12|0;o=a+8|0;p=(k[n>>2]|0)-(k[o>>2]|0)|0;q=a+24|0;c=k[q>>2]|0;l=a+28|0;d=k[l>>2]|0;do if((c|0)==(d|0)){h=a+48|0;if(!(k[h>>2]&16)){a=-1;r=s;return a|0}j=a+20|0;g=k[j>>2]|0;e=c-g|0;f=a+44|0;g=(k[f>>2]|0)-g|0;d=a+32|0;x=0;ra(67,d|0,0);c=x;x=0;if(!(c&1)){if(!(i[d>>0]&1))c=10;else c=(k[d>>2]&-2)+-1|0;x=0;Fa(8,d|0,c|0,0);c=x;x=0;if(!(c&1)){c=i[d>>0]|0;if(!(c&1)){d=d+1|0;c=(c&255)>>>1}else{d=k[a+40>>2]|0;c=k[a+36>>2]|0}t=d+c|0;k[j>>2]=d;k[l>>2]=t;j=d+e|0;k[q>>2]=j;c=d+g|0;k[f>>2]=c;d=t;break}}t=Wa(0)|0;cb(t|0)|0;eb();t=-1;r=s;return t|0}else{t=a+44|0;h=a+48|0;f=t;j=c;c=k[t>>2]|0}while(0);g=j+1|0;k[m>>2]=g;e=k[(g>>>0>>0?f:m)>>2]|0;k[f>>2]=e;if(k[h>>2]&8){c=a+32|0;if(!(i[c>>0]&1))c=c+1|0;else c=k[a+40>>2]|0;k[o>>2]=c;k[n>>2]=c+p;k[a+16>>2]=e}if((j|0)==(d|0)){t=Vb[k[(k[a>>2]|0)+52>>2]&63](a,b&255)|0;r=s;return t|0}else{k[q>>2]=g;i[j>>0]=b;t=b&255;r=s;return t|0}return 0}function ud(a){a=a|0;var b=0,c=0;k[a>>2]=36200;b=a+56|0;k[b>>2]=36220;c=a+4|0;k[c>>2]=36236;Sm(a+36|0);xn(c);qn(b);return}function vd(a){a=a|0;var b=0,c=0;k[a>>2]=36200;b=a+56|0;k[b>>2]=36220;c=a+4|0;k[c>>2]=36236;Sm(a+36|0);xn(c);qn(b);mj(a);return}function wd(a){a=a|0;var b=0,c=0,d=0,e=0;e=k[(k[a>>2]|0)+-12>>2]|0;b=a+e|0;k[b>>2]=36200;c=a+(e+56)|0;k[c>>2]=36220;d=a+(e+4)|0;k[d>>2]=36236;Sm(a+(e+36)|0);xn(d);qn(c);mj(b);return}function xd(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36388;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);return}function yd(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36388;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d){mj(a);return}b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);mj(a);return}function zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=a+36|0;if(!(k[e>>2]|0)){h=a+40|0;Dd(a,b,k[h>>2]|0,c,d);k[h>>2]=(k[h>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}j=a+4|0;f=c<<1;g=ia(f,k[(k[j>>2]|0)+16>>2]|0)|0;h=a+20|0;Dd(a,b,k[h>>2]|0,c,d);b=k[j>>2]|0;if((k[b+28>>2]|0)==536870912)Yc(k[h>>2]|0,ia(f,k[b+16>>2]|0)|0);j=k[e>>2]|0;if((Qb[k[(k[j>>2]|0)+48>>2]&63](j,k[h>>2]|0,g)|0)==(g|0))return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,3,35648);j=x;x=0;if(j&1){j=Wa()|0;Ua(b|0);fb(j|0)}else ub(b|0,824,96)}function Ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;Bd(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{Cd(a,e,b,c,d);return}}function Bd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0;h=a+4|0;f=k[h>>2]|0;do if(!(i[f+32>>0]|0))l=b;else{a=a+8|0;vw(k[a>>2]|0,b|0,d*6|0)|0;f=k[h>>2]|0;g=k[f+16>>2]|0;if((d|0)<=0){l=k[a>>2]|0;break}a=k[a>>2]|0;f=a;b=0;while(1){l=f+4|0;n=j[f>>1]|0;j[f>>1]=j[l>>1]|0;j[l>>1]=n;b=b+1|0;if((b|0)==(d|0))break;else f=f+(g<<1)|0}l=a;f=k[h>>2]|0}while(0);switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{h=m[l+(f*6|0)+2>>1]|0;e=32768-h+(m[l+(f*6|0)+4>>1]|0)|0;n=(m[l+(f*6|0)>>1]|0)-h+32768|0;j[c+(f*6|0)>>1]=h+49152+(((e&65535)+(n&65535)|0)>>>2);j[c+(f*6|0)+2>>1]=e;j[c+(f*6|0)+4>>1]=n;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{h=m[l+(b*6|0)+2>>1]|0;d=32768-h+(m[l+(b*6|0)+4>>1]|0)|0;n=(m[l+(b*6|0)>>1]|0)-h+32768|0;j[c+(b<<1)>>1]=h+49152+(((d&65535)+(n&65535)|0)>>>2);j[c+(b+e<<1)>>1]=d;j[c+(b+a<<1)>>1]=n;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{n=j[l+(g<<3)+6>>1]|0;o=m[l+(g<<3)+2>>1]|0;h=32768-o+(m[l+(g<<3)+4>>1]|0)|0;d=(m[l+(g<<3)>>1]|0)-o+32768|0;j[c+(g<<1)>>1]=o+49152+(((h&65535)+(d&65535)|0)>>>2);j[c+(g+e<<1)>>1]=h;j[c+(g+a<<1)>>1]=d;j[c+(g+b<<1)>>1]=n;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function Cd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+176|0;o=n+152|0;q=n+16|0;p=n;j=a+4|0;f=k[j>>2]|0;m=d<<1;g=ia(m,k[f+16>>2]|0)|0;do if(g){h=a+20|0;while(1){f=Qb[k[(k[b>>2]|0)+32>>2]&63](b,k[h>>2]|0,g)|0;if(!f)break;if((g|0)==(f|0)){l=26;break}else g=g-f|0}if((l|0)==26){f=k[j>>2]|0;break}l=q+56|0;j=q+4|0;k[q>>2]=36160;k[l>>2]=36180;x=0;ra(62,q+56|0,j|0);n=x;x=0;if(n&1){q=Wa()|0;qn(l);fb(q|0)}k[q+128>>2]=0;k[q+132>>2]=-1;k[q>>2]=36200;k[q+56>>2]=36220;x=0;qa(180,j|0);n=x;x=0;do if(n&1)f=Wa()|0;else{k[j>>2]=36236;b=q+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[q+52>>2]=16;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;ra(63,j|0,o|0);n=x;x=0;if(n&1){f=Wa()|0;Sm(o);Sm(b);xn(j);break}Sm(o);x=0;f=va(28,q|0,49029,57)|0;o=x;x=0;if(!(o&1)?(x=0,Aa(36,f|0,0)|0,o=x,x=0,!(o&1)):0){h=Va(16)|0;x=0;ra(64,p|0,j|0);o=x;x=0;if(!(o&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(p);if(!g){p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}}else f=Wa()|0;Ua(h|0);p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}p=Wa()|0;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}while(0);q=f;qn(l);fb(q|0)}while(0);g=a+20|0;if((k[f+28>>2]|0)!=536870912){q=k[g>>2]|0;Bd(a,q,c,d,e);r=n;return}Yc(k[g>>2]|0,ia(m,k[f+16>>2]|0)|0);q=k[g>>2]|0;Bd(a,q,c,d,e);r=n;return}function Dd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0;l=a+4|0;a=k[l>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){h=m[b+(a*6|0)+2>>1]|0;g=m[b+(a*6|0)+4>>1]|0;e=(m[b+(a*6|0)>>1]|0)-((g+h|0)>>>2)+16384|0;j[c+(a*6|0)>>1]=g+32768+e;j[c+(a*6|0)+2>>1]=e;j[c+(a*6|0)+4>>1]=h+32768+e;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=m[b+(g+e<<1)>>1]|0;o=m[b+(g+f<<1)>>1]|0;h=(m[b+(g<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;j[c+(g*6|0)>>1]=o+32768+h;j[c+(g*6|0)+2>>1]=h;j[c+(g*6|0)+4>>1]=n+32768+h;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{n=m[b+(g+e<<1)>>1]|0;p=m[b+(g+a<<1)>>1]|0;o=(m[b+(g<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=j[b+(g+f<<1)>>1]|0;r=ww(o&65535|0,0,16)|0;n=n+32768+o|M;q=ww(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|M;o=c+(g<<3)|0;p=o;j[p>>1]=q;j[p+2>>1]=q>>>16;o=o+4|0;j[o>>1]=n;j[o+2>>1]=n>>>16;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[l>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)<=0)return;a=c;f=0;while(1){r=a+4|0;q=j[a>>1]|0;j[a>>1]=j[r>>1]|0;j[r>>1]=q;f=f+1|0;if((f|0)==(d|0))break;else a=a+(g<<1)|0}return}function Ed(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36412;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);return}function Fd(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36412;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d){mj(a);return}b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);mj(a);return}function Gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=a+36|0;if(!(k[e>>2]|0)){h=a+40|0;Kd(a,b,k[h>>2]|0,c,d);k[h>>2]=(k[h>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}j=a+4|0;f=c<<1;g=ia(f,k[(k[j>>2]|0)+16>>2]|0)|0;h=a+20|0;Kd(a,b,k[h>>2]|0,c,d);b=k[j>>2]|0;if((k[b+28>>2]|0)==536870912)Yc(k[h>>2]|0,ia(f,k[b+16>>2]|0)|0);j=k[e>>2]|0;if((Qb[k[(k[j>>2]|0)+48>>2]&63](j,k[h>>2]|0,g)|0)==(g|0))return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,3,35648);j=x;x=0;if(j&1){j=Wa()|0;Ua(b|0);fb(j|0)}else ub(b|0,824,96)}function Hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;Id(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{Jd(a,e,b,c,d);return}}function Id(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0;h=a+4|0;f=k[h>>2]|0;do if(!(i[f+32>>0]|0))l=b;else{a=a+8|0;vw(k[a>>2]|0,b|0,d*6|0)|0;f=k[h>>2]|0;g=k[f+16>>2]|0;if((d|0)<=0){l=k[a>>2]|0;break}a=k[a>>2]|0;f=a;b=0;while(1){l=f+4|0;n=j[f>>1]|0;j[f>>1]=j[l>>1]|0;j[l>>1]=n;b=b+1|0;if((b|0)==(d|0))break;else f=f+(g<<1)|0}l=a;f=k[h>>2]|0}while(0);switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{g=m[l+(f*6|0)>>1]|0;e=j[l+(f*6|0)+2>>1]|0;h=e&65535;n=(m[l+(f*6|0)+4>>1]|0)+32768-((h+g|0)>>>1)&65535;j[c+(f*6|0)>>1]=g+32768-h;j[c+(f*6|0)+2>>1]=e;j[c+(f*6|0)+4>>1]=n;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{d=j[l+(b*6|0)+2>>1]|0;g=m[l+(b*6|0)>>1]|0;h=d&65535;n=(m[l+(b*6|0)+4>>1]|0)+32768-((h+g|0)>>>1)&65535;j[c+(b<<1)>>1]=g+32768-h;j[c+(b+e<<1)>>1]=d;j[c+(b+a<<1)>>1]=n;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{h=j[l+(g<<3)+2>>1]|0;n=j[l+(g<<3)+6>>1]|0;p=m[l+(g<<3)>>1]|0;o=h&65535;d=(m[l+(g<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;j[c+(g<<1)>>1]=p+32768-o;j[c+(g+e<<1)>>1]=h;j[c+(g+a<<1)>>1]=d;j[c+(g+b<<1)>>1]=n;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function Jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+176|0;o=n+152|0;q=n+16|0;p=n;j=a+4|0;f=k[j>>2]|0;m=d<<1;g=ia(m,k[f+16>>2]|0)|0;do if(g){h=a+20|0;while(1){f=Qb[k[(k[b>>2]|0)+32>>2]&63](b,k[h>>2]|0,g)|0;if(!f)break;if((g|0)==(f|0)){l=26;break}else g=g-f|0}if((l|0)==26){f=k[j>>2]|0;break}l=q+56|0;j=q+4|0;k[q>>2]=36160;k[l>>2]=36180;x=0;ra(62,q+56|0,j|0);n=x;x=0;if(n&1){q=Wa()|0;qn(l);fb(q|0)}k[q+128>>2]=0;k[q+132>>2]=-1;k[q>>2]=36200;k[q+56>>2]=36220;x=0;qa(180,j|0);n=x;x=0;do if(n&1)f=Wa()|0;else{k[j>>2]=36236;b=q+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[q+52>>2]=16;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;ra(63,j|0,o|0);n=x;x=0;if(n&1){f=Wa()|0;Sm(o);Sm(b);xn(j);break}Sm(o);x=0;f=va(28,q|0,49029,57)|0;o=x;x=0;if(!(o&1)?(x=0,Aa(36,f|0,0)|0,o=x,x=0,!(o&1)):0){h=Va(16)|0;x=0;ra(64,p|0,j|0);o=x;x=0;if(!(o&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(p);if(!g){p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}}else f=Wa()|0;Ua(h|0);p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}p=Wa()|0;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}while(0);q=f;qn(l);fb(q|0)}while(0);g=a+20|0;if((k[f+28>>2]|0)!=536870912){q=k[g>>2]|0;Id(a,q,c,d,e);r=n;return}Yc(k[g>>2]|0,ia(m,k[f+16>>2]|0)|0);q=k[g>>2]|0;Id(a,q,c,d,e);r=n;return}function Kd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0;l=a+4|0;a=k[l>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){h=j[b+(a*6|0)+2>>1]|0;e=h&65535;g=(m[b+(a*6|0)>>1]|0)+32768+e|0;e=(m[b+(a*6|0)+4>>1]|0)+32768+(((g&65535)+e|0)>>>1)&65535;j[c+(a*6|0)>>1]=g;j[c+(a*6|0)+2>>1]=h;j[c+(a*6|0)+4>>1]=e;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=j[b+(g+e<<1)>>1]|0;h=n&65535;o=(m[b+(g<<1)>>1]|0)+32768+h|0;h=(m[b+(g+f<<1)>>1]|0)+32768+(((o&65535)+h|0)>>>1)&65535;j[c+(g*6|0)>>1]=o;j[c+(g*6|0)+2>>1]=n;j[c+(g*6|0)+4>>1]=h;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{o=j[b+(g+e<<1)>>1]|0;n=o&65535;p=(m[b+(g<<1)>>1]|0)+32768+n&65535;n=(m[b+(g+a<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=j[b+(g+f<<1)>>1]|0;o=ww(o&65535|0,0,16)|0;n=M|n;q=ww(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|M;o=c+(g<<3)|0;p=o;j[p>>1]=q;j[p+2>>1]=q>>>16;o=o+4|0;j[o>>1]=n;j[o+2>>1]=n>>>16;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[l>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)<=0)return;a=c;f=0;while(1){q=a+4|0;p=j[a>>1]|0;j[a>>1]=j[q>>1]|0;j[q>>1]=p;f=f+1|0;if((f|0)==(d|0))break;else a=a+(g<<1)|0}return}function Ld(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36436;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);return}function Md(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36436;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d){mj(a);return}b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);mj(a);return}function Nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=a+36|0;if(!(k[e>>2]|0)){h=a+40|0;Rd(a,b,k[h>>2]|0,c,d);k[h>>2]=(k[h>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}j=a+4|0;f=c<<1;g=ia(f,k[(k[j>>2]|0)+16>>2]|0)|0;h=a+20|0;Rd(a,b,k[h>>2]|0,c,d);b=k[j>>2]|0;if((k[b+28>>2]|0)==536870912)Yc(k[h>>2]|0,ia(f,k[b+16>>2]|0)|0);j=k[e>>2]|0;if((Qb[k[(k[j>>2]|0)+48>>2]&63](j,k[h>>2]|0,g)|0)==(g|0))return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,3,35648);j=x;x=0;if(j&1){j=Wa()|0;Ua(b|0);fb(j|0)}else ub(b|0,824,96)}function Od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;Pd(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{Qd(a,e,b,c,d);return}}function Pd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0;h=a+4|0;f=k[h>>2]|0;do if(!(i[f+32>>0]|0))l=b;else{a=a+8|0;vw(k[a>>2]|0,b|0,d*6|0)|0;f=k[h>>2]|0;g=k[f+16>>2]|0;if((d|0)<=0){l=k[a>>2]|0;break}a=k[a>>2]|0;f=a;b=0;while(1){l=f+4|0;n=j[f>>1]|0;j[f>>1]=j[l>>1]|0;j[l>>1]=n;b=b+1|0;if((b|0)==(d|0))break;else f=f+(g<<1)|0}l=a;f=k[h>>2]|0}while(0);switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{e=j[l+(f*6|0)+2>>1]|0;h=e&65535;n=32768-h+(m[l+(f*6|0)+4>>1]|0)&65535;j[c+(f*6|0)>>1]=(m[l+(f*6|0)>>1]|0)+32768-h;j[c+(f*6|0)+2>>1]=e;j[c+(f*6|0)+4>>1]=n;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{d=j[l+(b*6|0)+2>>1]|0;h=d&65535;n=32768-h+(m[l+(b*6|0)+4>>1]|0)&65535;j[c+(b<<1)>>1]=(m[l+(b*6|0)>>1]|0)+32768-h;j[c+(b+e<<1)>>1]=d;j[c+(b+a<<1)>>1]=n;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{h=j[l+(g<<3)+2>>1]|0;n=j[l+(g<<3)+6>>1]|0;o=h&65535;d=32768-o+(m[l+(g<<3)+4>>1]|0)&65535;j[c+(g<<1)>>1]=(m[l+(g<<3)>>1]|0)+32768-o;j[c+(g+e<<1)>>1]=h;j[c+(g+a<<1)>>1]=d;j[c+(g+b<<1)>>1]=n;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function Qd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+176|0;o=n+152|0;q=n+16|0;p=n;j=a+4|0;f=k[j>>2]|0;m=d<<1;g=ia(m,k[f+16>>2]|0)|0;do if(g){h=a+20|0;while(1){f=Qb[k[(k[b>>2]|0)+32>>2]&63](b,k[h>>2]|0,g)|0;if(!f)break;if((g|0)==(f|0)){l=26;break}else g=g-f|0}if((l|0)==26){f=k[j>>2]|0;break}l=q+56|0;j=q+4|0;k[q>>2]=36160;k[l>>2]=36180;x=0;ra(62,q+56|0,j|0);n=x;x=0;if(n&1){q=Wa()|0;qn(l);fb(q|0)}k[q+128>>2]=0;k[q+132>>2]=-1;k[q>>2]=36200;k[q+56>>2]=36220;x=0;qa(180,j|0);n=x;x=0;do if(n&1)f=Wa()|0;else{k[j>>2]=36236;b=q+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[q+52>>2]=16;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;ra(63,j|0,o|0);n=x;x=0;if(n&1){f=Wa()|0;Sm(o);Sm(b);xn(j);break}Sm(o);x=0;f=va(28,q|0,49029,57)|0;o=x;x=0;if(!(o&1)?(x=0,Aa(36,f|0,0)|0,o=x,x=0,!(o&1)):0){h=Va(16)|0;x=0;ra(64,p|0,j|0);o=x;x=0;if(!(o&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(p);if(!g){p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}}else f=Wa()|0;Ua(h|0);p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}p=Wa()|0;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}while(0);q=f;qn(l);fb(q|0)}while(0);g=a+20|0;if((k[f+28>>2]|0)!=536870912){q=k[g>>2]|0;Pd(a,q,c,d,e);r=n;return}Yc(k[g>>2]|0,ia(m,k[f+16>>2]|0)|0);q=k[g>>2]|0;Pd(a,q,c,d,e);r=n;return}function Rd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0;l=a+4|0;a=k[l>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){h=j[b+(a*6|0)+2>>1]|0;g=h&65535;e=g+32768+(m[b+(a*6|0)+4>>1]|0)&65535;j[c+(a*6|0)>>1]=(m[b+(a*6|0)>>1]|0)+32768+g;j[c+(a*6|0)+2>>1]=h;j[c+(a*6|0)+4>>1]=e;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=j[b+(g+e<<1)>>1]|0;o=n&65535;h=o+32768+(m[b+(g+f<<1)>>1]|0)&65535;j[c+(g*6|0)>>1]=(m[b+(g<<1)>>1]|0)+32768+o;j[c+(g*6|0)+2>>1]=n;j[c+(g*6|0)+4>>1]=h;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{o=j[b+(g+e<<1)>>1]|0;n=o&65535;p=(m[b+(g<<1)>>1]|0)+32768+n|0;n=n+32768+(m[b+(g+a<<1)>>1]|0)|0;q=j[b+(g+f<<1)>>1]|0;o=ww(o&65535|0,0,16)|0;n=M|n;q=ww(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|M;o=c+(g<<3)|0;p=o;j[p>>1]=q;j[p+2>>1]=q>>>16;o=o+4|0;j[o>>1]=n;j[o+2>>1]=n>>>16;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[l>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)<=0)return;a=c;f=0;while(1){q=a+4|0;p=j[a>>1]|0;j[a>>1]=j[q>>1]|0;j[q>>1]=p;f=f+1|0;if((f|0)==(d|0))break;else a=a+(g<<1)|0}return}function Sd(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36460;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d)return;b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);return}function Td(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=36460;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}d=k[a+8>>2]|0;if(!d){mj(a);return}b=a+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-2-d|0)>>>1)<<1);mj(d);mj(a);return}function Ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=a+36|0;if(!(k[e>>2]|0)){h=a+40|0;Yd(a,b,k[h>>2]|0,c,d);k[h>>2]=(k[h>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}j=a+4|0;f=c<<1;g=ia(f,k[(k[j>>2]|0)+16>>2]|0)|0;h=a+20|0;Yd(a,b,k[h>>2]|0,c,d);b=k[j>>2]|0;if((k[b+28>>2]|0)==536870912)Yc(k[h>>2]|0,ia(f,k[b+16>>2]|0)|0);j=k[e>>2]|0;if((Qb[k[(k[j>>2]|0)+48>>2]&63](j,k[h>>2]|0,g)|0)==(g|0))return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,3,35648);j=x;x=0;if(j&1){j=Wa()|0;Ua(b|0);fb(j|0)}else ub(b|0,824,96)}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;Wd(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{Xd(a,e,b,c,d);return}}function Wd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;h=a+4|0;f=k[h>>2]|0;do if(!(i[f+32>>0]|0))l=b;else{a=a+8|0;vw(k[a>>2]|0,b|0,d*6|0)|0;f=k[h>>2]|0;g=k[f+16>>2]|0;if((d|0)<=0){l=k[a>>2]|0;break}a=k[a>>2]|0;f=a;b=0;while(1){l=f+4|0;m=j[f>>1]|0;j[f>>1]=j[l>>1]|0;j[l>>1]=m;b=b+1|0;if((b|0)==(d|0))break;else f=f+(g<<1)|0}l=a;f=k[h>>2]|0}while(0);switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{e=j[l+(f*6|0)+2>>1]|0;m=j[l+(f*6|0)+4>>1]|0;j[c+(f*6|0)>>1]=j[l+(f*6|0)>>1]|0;j[c+(f*6|0)+2>>1]=e;j[c+(f*6|0)+4>>1]=m;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{d=j[l+(b*6|0)+2>>1]|0;m=j[l+(b*6|0)+4>>1]|0;j[c+(b<<1)>>1]=j[l+(b*6|0)>>1]|0;j[c+(b+e<<1)>>1]=d;j[c+(b+a<<1)>>1]=m;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{h=j[l+(g<<3)+2>>1]|0;d=j[l+(g<<3)+4>>1]|0;m=j[l+(g<<3)+6>>1]|0;j[c+(g<<1)>>1]=j[l+(g<<3)>>1]|0;j[c+(g+e<<1)>>1]=h;j[c+(g+a<<1)>>1]=d;j[c+(g+b<<1)>>1]=m;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function Xd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+176|0;o=n+152|0;q=n+16|0;p=n;j=a+4|0;f=k[j>>2]|0;m=d<<1;g=ia(m,k[f+16>>2]|0)|0;do if(g){h=a+20|0;while(1){f=Qb[k[(k[b>>2]|0)+32>>2]&63](b,k[h>>2]|0,g)|0;if(!f)break;if((g|0)==(f|0)){l=26;break}else g=g-f|0}if((l|0)==26){f=k[j>>2]|0;break}l=q+56|0;j=q+4|0;k[q>>2]=36160;k[l>>2]=36180;x=0;ra(62,q+56|0,j|0);n=x;x=0;if(n&1){q=Wa()|0;qn(l);fb(q|0)}k[q+128>>2]=0;k[q+132>>2]=-1;k[q>>2]=36200;k[q+56>>2]=36220;x=0;qa(180,j|0);n=x;x=0;do if(n&1)f=Wa()|0;else{k[j>>2]=36236;b=q+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[q+52>>2]=16;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;x=0;ra(63,j|0,o|0);n=x;x=0;if(n&1){f=Wa()|0;Sm(o);Sm(b);xn(j);break}Sm(o);x=0;f=va(28,q|0,49029,57)|0;o=x;x=0;if(!(o&1)?(x=0,Aa(36,f|0,0)|0,o=x,x=0,!(o&1)):0){h=Va(16)|0;x=0;ra(64,p|0,j|0);o=x;x=0;if(!(o&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,p|0);o=x;x=0;if(o&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(p);if(!g){p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}}else f=Wa()|0;Ua(h|0);p=f;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}p=Wa()|0;k[q>>2]=36200;k[l>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(l);fb(p|0)}while(0);q=f;qn(l);fb(q|0)}while(0);g=a+20|0;if((k[f+28>>2]|0)!=536870912){q=k[g>>2]|0;Wd(a,q,c,d,e);r=n;return}Yc(k[g>>2]|0,ia(m,k[f+16>>2]|0)|0);q=k[g>>2]|0;Wd(a,q,c,d,e);r=n;return}function Yd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0;l=a+4|0;a=k[l>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){h=j[b+(a*6|0)+2>>1]|0;e=j[b+(a*6|0)+4>>1]|0;j[c+(a*6|0)>>1]=j[b+(a*6|0)>>1]|0;j[c+(a*6|0)+2>>1]=h;j[c+(a*6|0)+4>>1]=e;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=j[b+(g+e<<1)>>1]|0;h=j[b+(g+f<<1)>>1]|0;j[c+(g*6|0)>>1]=j[b+(g<<1)>>1]|0;j[c+(g*6|0)+2>>1]=n;j[c+(g*6|0)+4>>1]=h;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{n=j[b+(g<<1)>>1]|0;q=j[b+(g+f<<1)>>1]|0;o=m[b+(g+a<<1)>>1]|0;p=ww(m[b+(g+e<<1)>>1]|0,0,16)|0;o=M|o;q=ww(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|M;n=c+(g<<3)|0;p=n;j[p>>1]=q;j[p+2>>1]=q>>>16;n=n+4|0;j[n>>1]=o;j[n+2>>1]=o>>>16;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[l>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)<=0)return;a=c;f=0;while(1){q=a+4|0;p=j[a>>1]|0;j[a>>1]=j[q>>1]|0;j[q>>1]=p;f=f+1|0;if((f|0)==(d|0))break;else a=a+(g<<1)|0}return}function Zd(a){a=a|0;return}function _d(a){a=a|0;mj(a);return}function $d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=ia(k[a+8>>2]|0,c)|0;a=k[a+4>>2]|0;if((Qb[k[(k[a>>2]|0)+48>>2]&63](a,b,c)|0)==(c|0))return;d=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,d|0,3,35648);a=x;x=0;if(a&1){a=Wa()|0;Ua(d|0);fb(a|0)}else ub(d|0,824,96)}function ae(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;l=m;j=a+8|0;e=k[j>>2]|0;d=ia(e,c)|0;do if(d){g=a+4|0;f=d;while(1){e=k[g>>2]|0;e=Qb[k[(k[e>>2]|0)+32>>2]&63](e,b,f)|0;if(!e)break;d=f-e|0;if((f|0)==(e|0)){h=11;break}else f=d}if((h|0)==11){e=k[j>>2]|0;f=d;break}d=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,d|0,3,35648);a=x;x=0;if(a&1){a=Wa()|0;Ua(d|0);fb(a|0)}else ub(d|0,824,96)}else f=0;while(0);if((e|0)==2){Yc(b,c<<1);e=k[j>>2]|0}d=k[a+12>>2]|0;if((d|0)<=(ia(e,c)|0)){r=m;return}a=k[a+4>>2]|0;Sb[k[(k[a>>2]|0)+16>>2]&15](l,a,d-f|0,0,1,24);r=m;return}function be(a){a=a|0;mj(a);return}function ce(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=a+4|0;vw(k[d>>2]|0,b|0,ia(k[a+8>>2]|0,c)|0)|0;k[d>>2]=(k[d>>2]|0)+(k[a+12>>2]|0);return}function de(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=a+4|0;vw(b|0,k[d>>2]|0,ia(k[a+8>>2]|0,c)|0)|0;k[d>>2]=(k[d>>2]|0)+(k[a+12>>2]|0);return}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;k[a+112>>2]=0;k[a+108>>2]=0;l=k[b>>2]|0;e=l;do if(l){g=a+92|0;l=a+96|0;h=k[l>>2]|0;j=k[g>>2]|0;c=j;d=h-c|0;if(d>>>0>=4e4)if(d>>>0>4e4?(f=j+4e4|0,(h|0)!=(f|0)):0){k[l>>2]=f;f=c}else f=c;else{fe(g,4e4-d|0);f=k[g>>2]|0;e=k[b>>2]|0}c=a+116|0;k[c>>2]=f;h=a+124|0;k[h>>2]=f;j=a+104|0;k[j>>2]=e;d=e;if(e){if((k[d+12>>2]|0)==(k[d+16>>2]|0)){b=(Ob[k[(k[e>>2]|0)+36>>2]&127](d)|0)==-1;d=k[h>>2]|0;if(b)break;e=k[c>>2]|0}else{d=f;e=f}g=d-e|0;if(g>>>0<=64){f=a+92|0;if((d|0)==(e|0))d=e;else{d=e;e=0;do{i[(k[f>>2]|0)+e>>0]=i[d+e>>0]|0;e=e+1|0;d=k[c>>2]|0}while(e>>>0>>0);e=k[h>>2]|0}f=k[f>>2]|0;b=f;m=b-d|0;k[c>>2]=f;d=e+m|0;k[h>>2]=d;f=a+120|0;k[f>>2]=(k[f>>2]|0)+m;j=k[j>>2]|0;d=Qb[k[(k[j>>2]|0)+32>>2]&63](j,d,(k[l>>2]|0)-(b+g)|0)|0;d=(k[h>>2]|0)+d|0;k[h>>2]=d}}else d=f}else{k[a+104>>2]=0;d=k[b+4>>2]|0;c=a+116|0;k[c>>2]=d;d=d+(k[b+8>>2]|0)|0;k[a+124>>2]=d}while(0);c=k[c>>2]|0;if(c>>>0>=d>>>0){l=c;m=a+120|0;k[m>>2]=l;qe(a);return}while(1){if((i[c>>0]|0)==-1){d=20;break}c=c+1|0;if(c>>>0>=d>>>0){d=20;break}}if((d|0)==20){m=a+120|0;k[m>>2]=c;qe(a);return}}function fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=a+8|0;e=k[j>>2]|0;l=a+4|0;c=k[l>>2]|0;d=c;if((e-d|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[l>>2]|0)+1|0;k[l>>2]=c;b=b+-1|0}while((b|0)!=0);return}c=k[a>>2]|0;f=d-c+b|0;if((f|0)<0){jj(a);e=k[j>>2]|0;c=k[a>>2]|0}d=e-c|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d;c=(k[l>>2]|0)-c|0;if(!d){e=0;g=0;f=c}else h=8}else{d=2147483647;c=(k[l>>2]|0)-c|0;h=8}if((h|0)==8){e=d;g=lj(d)|0;f=c}c=g+f|0;e=g+e|0;d=c;do{i[d>>0]=0;d=c+1|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[l>>2]|0)-b|0;h=g+(f-d)|0;vw(h|0,b|0,d|0)|0;k[a>>2]=h;k[l>>2]=c;k[j>>2]=e;if(!b)return;mj(b);return}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;u=r;r=r+32|0;w=u+12|0;t=u;p=a+180|0;q=(k[p>>2]|0)+4|0;if((k[a+32>>2]|0)==1)s=k[a+24>>2]|0;else s=1;b=ia(s<<1,q)|0;k[w>>2]=0;y=w+4|0;k[y>>2]=0;k[w+8>>2]=0;do if(b){if(!((b|0)<0?(x=0,qa(178,w|0),v=x,x=0,v&1):0))g=6;if((g|0)==6?(c=b<<1,x=0,d=ta(67,c|0)|0,v=x,x=0,!(v&1)):0){k[w>>2]=d;v=d+(b<<1)|0;k[w+8>>2]=v;sw(d|0,0,c|0)|0;k[y>>2]=v;break}d=Wa()|0;b=k[w>>2]|0;if(!b)fb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}while(0);k[t>>2]=0;v=t+4|0;k[v>>2]=0;k[t+8>>2]=0;do if(!s)g=18;else{if(!(s>>>0>1073741823?(x=0,qa(178,t|0),o=x,x=0,o&1):0))g=16;if((g|0)==16?(e=s<<2,x=0,f=ta(67,e|0)|0,o=x,x=0,!(o&1)):0){k[t>>2]=f;g=f+(s<<2)|0;k[t+8>>2]=g;sw(f|0,0,e|0)|0;k[v>>2]=g;g=18;break}d=Wa()|0;b=k[t>>2]|0;c=b;if(b){e=k[v>>2]|0;if((e|0)!=(b|0))k[v>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==18){f=a+12|0;a:do if((k[f>>2]|0)>0){g=a+4604|0;h=(ia(s,q)|0)+1|0;i=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;o=0;b:while(1){c=k[w>>2]|0;b=c+2|0;k[g>>2]=b;c=c+(h<<1)|0;k[i>>2]=c;if(!(o&1))b=c;else{k[g>>2]=c;k[i>>2]=b}e=k[l>>2]|0;x=0;Ja(k[(k[e>>2]|0)+12>>2]|0,e|0,b|0,k[p>>2]|0,q|0);e=x;x=0;if(e&1){g=28;break}if(m){b=k[g>>2]|0;c=k[i>>2]|0;d=k[t>>2]|0;e=0;do{k[n>>2]=k[d+(e<<2)>>2];d=k[p>>2]|0;j[b+(d<<1)>>1]=j[b+(d+-1<<1)>>1]|0;j[c+-2>>1]=j[b>>1]|0;x=0;ra(68,a|0,0);d=x;x=0;if(d&1){g=27;break b}d=k[t>>2]|0;k[d+(e<<2)>>2]=k[n>>2];b=(k[g>>2]|0)+(q<<1)|0;k[g>>2]=b;c=(k[i>>2]|0)+(q<<1)|0;k[i>>2]=c;e=e+1|0}while((e|0)<(s|0))}o=o+1|0;if((o|0)>=(k[f>>2]|0)){g=40;break a}}if((g|0)==27){d=Wa()|0;break}else if((g|0)==28){d=Wa()|0;break}}else g=40;while(0);do if((g|0)==40){x=0;qa(182,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[t>>2]|0;c=b;if(b){d=k[v>>2]|0;if((d|0)!=(b|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[w>>2]|0;if(!b){r=u;return}c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);r=u;return}while(0);b=k[t>>2]|0;c=b;if(b){e=k[v>>2]|0;if((e|0)!=(b|0))k[v>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[w>>2]|0;if(!b)fb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}function he(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+4604|0;b=k[p>>2]|0;s=a+180|0;if((k[s>>2]|0)<=0)return;q=a+4608|0;r=a+4612|0;e=b;f=m[b+-2>>1]|0;b=m[b>>1]|0;o=0;while(1){n=k[q>>2]|0;l=m[n+(o+-1<<1)>>1]|0;d=o+1|0;c=m[e+(d<<1)>>1]|0;h=k[r>>2]|0;g=b-f|0;e=f-l|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(me(a,o,0)|0)+o|0;c=k[p>>2]|0;b=m[c+(d+-1<<1)>>1]|0;c=m[c+(d<<1)>>1]|0}else{f=b-l>>31;if((f^e|0)<0)e=b;else e=l+((f^g|0)<0?0:g)|0;n=le(a,h,m[n+(o<<1)>>1]|0,e,0)|0;j[(k[q>>2]|0)+(o<<1)>>1]=n}if((d|0)>=(k[s>>2]|0))break;e=k[p>>2]|0;f=b;b=c;o=d}return}function ie(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;e=a+104|0;if((k[e>>2]|0)>>>0<4)je(a);f=a+100|0;g=a+112|0;h=a+96|0;j=a+108|0;l=a+116|0;b=k[f>>2]|0;d=0;do{c=i[g>>0]|0;if((b|0)>31)break;b=k[h>>2]|0;if(!(c<<24>>24)){i[k[j>>2]>>0]=b>>>24;k[h>>2]=k[h>>2]<<8;b=(k[f>>2]|0)+8|0}else{i[k[j>>2]>>0]=b>>>25;k[h>>2]=k[h>>2]<<7;b=(k[f>>2]|0)+7|0}k[f>>2]=b;m=k[j>>2]|0;c=(i[m>>0]|0)==-1&1;i[g>>0]=c;k[j>>2]=m+1;k[e>>2]=(k[e>>2]|0)+-1;k[l>>2]=(k[l>>2]|0)+1;d=d+1|0}while((d|0)<4);if(!(c<<24>>24))ke(a,0,(b|0)%8|0);else ke(a,0,(b+-1|0)%8|0);if((k[e>>2]|0)>>>0<4)je(a);b=k[f>>2]|0;c=0;do{if((b|0)>31)break;b=k[h>>2]|0;if(!(i[g>>0]|0)){i[k[j>>2]>>0]=b>>>24;k[h>>2]=k[h>>2]<<8;b=(k[f>>2]|0)+8|0}else{i[k[j>>2]>>0]=b>>>25;k[h>>2]=k[h>>2]<<7;b=(k[f>>2]|0)+7|0}k[f>>2]=b;m=k[j>>2]|0;i[g>>0]=(i[m>>0]|0)==-1&1;k[j>>2]=m+1;k[e>>2]=(k[e>>2]|0)+-1;k[l>>2]=(k[l>>2]|0)+1;c=c+1|0}while((c|0)<4);if(!(k[a+132>>2]|0))return;je(a);return}function je(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=k[a+132>>2]|0;if(!b){b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,4,35648);a=x;x=0;if(!(a&1))ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}c=a+108|0;d=a+120|0;f=k[d>>2]|0;e=(k[c>>2]|0)-f|0;if((Qb[k[(k[b>>2]|0)+48>>2]&63](b,f,e)|0)==(e|0)){f=k[d>>2]|0;k[c>>2]=f;k[a+104>>2]=(k[a+124>>2]|0)-f;return}b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,4,35648);f=x;x=0;if(!(f&1))ub(b|0,824,96);f=Wa()|0;Ua(b|0);fb(f|0)}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=a+100|0;c=(k[l>>2]|0)-c|0;k[l>>2]=c;if((c|0)>-1){m=a+96|0;k[m>>2]=k[m>>2]|b<>2]=k[m>>2]|b>>0-c;j=a+104|0;if((k[j>>2]|0)>>>0<4){je(a);c=k[l>>2]|0}f=a+112|0;g=a+108|0;h=a+116|0;d=0;while(1){if((c|0)>31)break;c=k[m>>2]|0;if(!(i[f>>0]|0)){i[k[g>>2]>>0]=c>>>24;k[m>>2]=k[m>>2]<<8;c=(k[l>>2]|0)+8|0}else{i[k[g>>2]>>0]=c>>>25;k[m>>2]=k[m>>2]<<7;c=(k[l>>2]|0)+7|0}k[l>>2]=c;n=k[g>>2]|0;i[f>>0]=(i[n>>0]|0)==-1&1;k[g>>2]=n+1;k[j>>2]=(k[j>>2]|0)+-1;k[h>>2]=(k[h>>2]|0)+1;d=d+1|0;if((d|0)>=4){e=11;break}}a:do if((e|0)==11)if((c|0)<0){k[m>>2]=k[m>>2]|b>>0-c;if((k[j>>2]|0)>>>0<4){je(a);c=k[l>>2]|0;d=0}else d=0;do{if((c|0)>31)break a;c=k[m>>2]|0;if(!(i[f>>0]|0)){i[k[g>>2]>>0]=c>>>24;k[m>>2]=k[m>>2]<<8;c=(k[l>>2]|0)+8|0}else{i[k[g>>2]>>0]=c>>>25;k[m>>2]=k[m>>2]<<7;c=(k[l>>2]|0)+7|0}k[l>>2]=c;n=k[g>>2]|0;i[f>>0]=(i[n>>0]|0)==-1&1;k[g>>2]=n+1;k[j>>2]=(k[j>>2]|0)+-1;k[h>>2]=(k[h>>2]|0)+1;d=d+1|0}while((d|0)<4)}while(0);k[m>>2]=k[m>>2]|b<>31;f=(r^b)-r|0;p=a+196+(f*12|0)+10|0;g=j[p>>1]|0;o=a+196+(f*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){b=5;while(1)if((g<>1]^r)-r+d|0;q=a+136|0;d=k[q>>2]|0;if((e&d|0)==(e|0))l=e;else l=d&~(e>>31);e=(c-l^r)-r|0;i=a+144|0;d=k[i>>2]|0;if((e|0)>0)e=(e+d|0)/(d<<1|1|0)|0;else e=(e-d|0)/(d<<1|1|0)|0;n=a+140|0;h=k[n>>2]|0;c=((e|0)<0?h:0)+e|0;h=c-((c|0)<((h+1|0)/2|0|0)?0:h)|0;f=a+196+(f*12|0)+4|0;if(!(d|b))e=(k[f>>2]<<1)+-1+g>>31;else e=0;d=e^h;pe(a,b,d>>30^d<<1,k[a+156>>2]|0);d=k[a+160>>2]|0;b=(k[o>>2]|0)+((h|0)>-1?h:0-h|0)|0;e=(k[f>>2]|0)+(ia(k[i>>2]<<1|1,h)|0)|0;c=j[p>>1]|0;if((c|0)==(d|0)){b=b>>1;e=e>>1;c=d>>1}k[o>>2]=b;d=c+1|0;j[p>>1]=d;b=d+e|0;if((b|0)>=1){if((e|0)>0){e=e-d|0;p=j[m>>1]|0;j[m>>1]=(p<<16>>16<127&1)+(p&65535);e=(e|0)>0?0:e}}else{e=j[m>>1]|0;j[m>>1]=(e&65535)-(e<<16>>16>-128&1);e=(b|0)>(~c|0)?b:0-c|0}k[f>>2]=e;d=k[i>>2]|0;c=d<<1|1;b=(ia(c,(h^r)-r|0)|0)+l|0;if((b|0)>=(0-d|0)){e=k[q>>2]|0;if((e+d|0)<(b|0))b=b-(ia(k[n>>2]|0,c)|0)|0}else{b=(ia(k[n>>2]|0,c)|0)+b|0;e=k[q>>2]|0}if((b&e|0)==(b|0)){r=b;r=r&65535;return r|0}r=e&~(b>>31);r=r&65535;return r|0}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;i=(k[a+180>>2]|0)-b|0;l=k[a+4608>>2]|0;n=k[a+4604>>2]|0;e=j[l+(b+-1<<1)>>1]|0;h=e&65535;c=k[a+144>>2]|0;f=0;while(1){d=l+(f+b<<1)|0;g=(m[d>>1]|0)-h|0;if((((g|0)>-1?g:0-g|0)|0)>(c|0))break;j[d>>1]=e;f=f+1|0;if((f|0)==(i|0)){f=i;break}}e=(f|0)==(i|0);g=a+4600|0;d=k[36476+(k[g>>2]<<2)>>2]|0;if((1<(f|0))c=f;else{c=f;do{ke(a,1,1);d=k[g>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[g>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>1]|0,h,m[n+(i<<1)>>1]|0)|0;j[b>>1]=a;a=k[g>>2]|0;k[g>>2]=(a|0)<1?0:a+-1|0;a=f+1|0;return a|0}if(!c){a=i;return a|0}ke(a,1,1);a=i;return a|0}function ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c-d|0;i=a+136|0;g=a+144|0;e=k[g>>2]|0;if((((h|0)>-1?h:0-h|0)|0)>(e|0)){f=d-c>>31|1;b=ia(f,b-d|0)|0;if((b|0)>0)b=(e+b|0)/(e<<1|1|0)|0;else b=(b-e|0)/(e<<1|1|0)|0;h=a+140|0;e=k[h>>2]|0;c=((b|0)<0?e:0)+b|0;e=c-((c|0)<((e+1|0)/2|0|0)?0:e)|0;oe(a,a+4576|0,e);e=ia(e,f)|0;f=k[g>>2]|0;g=f<<1|1;e=(ia(e,g)|0)+d|0;if((e|0)>=(0-f|0)){b=k[i>>2]|0;if((b+f|0)<(e|0))e=e-(ia(k[h>>2]|0,g)|0)|0}else{e=(ia(k[h>>2]|0,g)|0)+e|0;b=k[i>>2]|0}if((e&b|0)==(e|0)){i=e;i=i&65535;return i|0}i=b&~(e>>31);i=i&65535;return i|0}else{b=b-c|0;if((b|0)>0)b=(e+b|0)/(e<<1|1|0)|0;else b=(b-e|0)/(e<<1|1|0)|0;h=a+140|0;e=k[h>>2]|0;f=((b|0)<0?e:0)+b|0;e=f-((f|0)<((e+1|0)/2|0|0)?0:e)|0;oe(a,a+4588|0,e);f=k[g>>2]|0;g=f<<1|1;e=(ia(g,e)|0)+c|0;if((e|0)>=(0-f|0)){b=k[i>>2]|0;if((b+f|0)<(e|0))e=e-(ia(k[h>>2]|0,g)|0)|0}else{e=(ia(k[h>>2]|0,g)|0)+e|0;b=k[i>>2]|0}if((e&b|0)==(e|0)){i=e;i=i&65535;return i|0}i=b&~(e>>31);i=i&65535;return i|0}return 0}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;pe(a,e,d,(k[a+156>>2]|0)+-1-(k[36476+(k[a+4600>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c>>b;f=a+148|0;g=d-(k[f>>2]|0)|0;if((e|0)<(g+-1|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-31-(k[f>>2]|0)|0)}else ke(a,1,g);b=k[f>>2]|0;ke(a,(1<>2]|0;j=a+120|0;if(b>>>0<((k[j>>2]|0)+-3|0)>>>0){j=a+112|0;g=k[j>>2]|0;a=a+108|0;k[a>>2]=(l[b+1>>0]<<16|l[b>>0]<<24|l[b+2>>0]<<8|l[b+3>>0])>>>g|k[a>>2];a=32-g>>3;k[h>>2]=b+a;k[j>>2]=(a<<3)+g;return}g=a+104|0;c=k[g>>2]|0;do if(c){if((k[c+12>>2]|0)==(k[c+16>>2]|0)){if((Ob[k[(k[c>>2]|0)+36>>2]&127](c)|0)==-1)break;b=k[h>>2]|0}e=a+124|0;c=k[e>>2]|0;f=c-b|0;if(f>>>0<=64){d=a+92|0;if((c|0)==(b|0))c=b;else{c=0;do{i[(k[d>>2]|0)+c>>0]=i[b+c>>0]|0;c=c+1|0;b=k[h>>2]|0}while(c>>>0>>0);c=b;b=k[e>>2]|0}n=k[d>>2]|0;d=n;m=d-c|0;k[h>>2]=n;c=b+m|0;k[e>>2]=c;k[j>>2]=(k[j>>2]|0)+m;g=k[g>>2]|0;g=Qb[k[(k[g>>2]|0)+32>>2]&63](g,c,(k[a+96>>2]|0)-(d+f)|0)|0;k[e>>2]=(k[e>>2]|0)+g}}while(0);g=a+112|0;f=a+108|0;a=k[a+124>>2]|0;e=a+-1|0;b=k[h>>2]|0;while(1){if(b>>>0>=a>>>0){c=14;break}d=i[b>>0]|0;c=d&255;d=d<<24>>24==-1;if(d){if((b|0)==(e|0)){c=25;break}b=b+1|0;if((i[b>>0]|0)<0){c=25;break}}else b=b+1|0;n=k[g>>2]|0;k[f>>2]=c<<24-n|k[f>>2];k[h>>2]=b;n=n+(d?7:8)|0;k[g>>2]=n;if((n|0)>=24){c=33;break}}if((c|0)==14){if((k[g>>2]|0)>=1)return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,5,35648);n=x;x=0;if(!(n&1))ub(b|0,824,96);n=Wa()|0;Ua(b|0);fb(n|0)}else if((c|0)==25){if((k[g>>2]|0)>=1)return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,5,35648);n=x;x=0;if(!(n&1))ub(b|0,824,96);n=Wa()|0;Ua(b|0);fb(n|0)}else if((c|0)==33){a:do if(b>>>0>>0)do{if((i[b>>0]|0)==-1)break a;b=b+1|0}while(b>>>0>>0);while(0);k[j>>2]=b;return}}function re(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o;n=a+144|0;a:do if(!(k[n>>2]|0)){c=k[a+136>>2]|0;b=a+152|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+184>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+188>>2]|0):0)?(k[d+12>>2]|0)==(k[a+192>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4612>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4612>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4612>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4612>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+152|0;while(0);m=1<>2];c=a+4616|0;d=m<<1;e=a+4620|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4612|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+192|0;j=a+188|0;g=a+184|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=a+8|0;e=k[j>>2]|0;l=a+4|0;c=k[l>>2]|0;d=c;if((e-d|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[l>>2]|0)+1|0;k[l>>2]=c;b=b+-1|0}while((b|0)!=0);return}c=k[a>>2]|0;f=d-c+b|0;if((f|0)<0){jj(a);e=k[j>>2]|0;c=k[a>>2]|0}d=e-c|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d;c=(k[l>>2]|0)-c|0;if(!d){e=0;g=0;f=c}else h=8}else{d=2147483647;c=(k[l>>2]|0)-c|0;h=8}if((h|0)==8){e=d;g=lj(d)|0;f=c}c=g+f|0;e=g+e|0;d=c;do{i[d>>0]=0;d=c+1|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[l>>2]|0)-b|0;h=g+(f-d)|0;vw(h|0,b|0,d|0)|0;k[a>>2]=h;k[l>>2]=c;k[j>>2]=e;if(!b)return;mj(b);return}function te(a){a=a|0;var b=0,c=0;k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function ue(a){a=a|0;var b=0,c=0;k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function ve(a){a=a|0;var b=0,c=0;k[a>>2]=36052;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function we(a){a=a|0;var b=0,c=0;k[a>>2]=36052;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+136>>2]|0,k[a+144>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+184>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+188>>2]=f;k[a+192>>2]=e;He(a);e=a+140|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+196+(f*12|0)>>2]=b;k[a+196+(f*12|0)+4>>2]=0;j[a+196+(f*12|0)+8>>1]=0;j[a+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4576>>2]=h;k[a+4580>>2]=0;i[a+4584>>0]=l;i[a+4585>>0]=1;i[a+4586>>0]=0;k[a+4588>>2]=h;k[a+4592>>2]=1;i[a+4596>>0]=l;i[a+4597>>0]=1;i[a+4598>>0]=0;k[a+4600>>2]=0;r=g;return}function ye(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4624)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35828;k[b+128>>2]=k[a+136>>2];k[b+132>>2]=k[a+140>>2];k[b+136>>2]=k[a+144>>2];k[b+140>>2]=k[a+148>>2];k[b+144>>2]=k[a+152>>2];k[b+148>>2]=k[a+156>>2];k[b+152>>2]=k[a+160>>2];e=b+156|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+172>>2]=k[d>>2];k[b+176>>2]=0;k[b+180>>2]=0;k[b+184>>2]=0;e=b+4568|0;d=b+188|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4580|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4592|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];Ae(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;Ae(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}\nfunction ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=6;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=6;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Ae(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;t=r;r=r+32|0;v=t+12|0;s=t;o=a+180|0;p=(k[o>>2]|0)+4|0;if((k[a+32>>2]|0)==1)q=k[a+24>>2]|0;else q=1;b=ia(q<<1,p)|0;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;do if(b){if(!(b>>>0>715827882?(x=0,qa(178,v|0),u=x,x=0,u&1):0))g=6;if((g|0)==6?(x=0,c=ta(67,b*6|0)|0,u=x,x=0,!(u&1)):0){k[w>>2]=c;k[v>>2]=c;d=c+(b*6|0)|0;k[v+8>>2]=d;while(1){j[c>>1]=0;j[c+2>>1]=0;j[c+4>>1]=0;b=b+-1|0;if(!b)break;else c=c+6|0}k[w>>2]=d;break}d=Wa()|0;b=k[v>>2]|0;if(!b)fb(d|0);c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-6-b|0)>>>0)/6|0)*6|0);mj(b);fb(d|0)}while(0);k[s>>2]=0;u=s+4|0;k[u>>2]=0;k[s+8>>2]=0;do if(!q)g=20;else{if(!(q>>>0>1073741823?(x=0,qa(178,s|0),n=x,x=0,n&1):0))g=18;if((g|0)==18?(e=q<<2,x=0,f=ta(67,e|0)|0,n=x,x=0,!(n&1)):0){k[s>>2]=f;g=f+(q<<2)|0;k[s+8>>2]=g;sw(f|0,0,e|0)|0;k[u>>2]=g;g=20;break}d=Wa()|0;b=k[s>>2]|0;c=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==20){e=a+12|0;a:do if((k[e>>2]|0)>0){f=a+4604|0;g=(ia(q,p)|0)+1|0;h=a+4608|0;i=a+92|0;l=(q|0)>0;m=a+4600|0;n=0;b:while(1){c=k[v>>2]|0;b=c+6|0;k[f>>2]=b;c=c+(g*6|0)|0;k[h>>2]=c;if(!(n&1))b=c;else{k[f>>2]=c;k[h>>2]=b}d=k[i>>2]|0;x=0;Ja(k[(k[d>>2]|0)+12>>2]|0,d|0,b|0,k[o>>2]|0,p|0);d=x;x=0;if(d&1){g=30;break}if(l){b=k[s>>2]|0;c=k[f>>2]|0;d=0;do{k[m>>2]=k[b+(d<<2)>>2];y=k[o>>2]|0;b=c+(y*6|0)|0;c=c+((y+-1|0)*6|0)|0;j[b>>1]=j[c>>1]|0;j[b+2>>1]=j[c+2>>1]|0;j[b+4>>1]=j[c+4>>1]|0;c=(k[h>>2]|0)+-6|0;b=k[f>>2]|0;j[c>>1]=j[b>>1]|0;j[c+2>>1]=j[b+2>>1]|0;j[c+4>>1]=j[b+4>>1]|0;x=0;ra(69,a|0,0);c=x;x=0;if(c&1){g=29;break b}b=k[s>>2]|0;k[b+(d<<2)>>2]=k[m>>2];c=(k[f>>2]|0)+(p*6|0)|0;k[f>>2]=c;k[h>>2]=(k[h>>2]|0)+(p*6|0);d=d+1|0}while((d|0)<(q|0))}n=n+1|0;if((n|0)>=(k[e>>2]|0)){g=42;break a}}if((g|0)==29){d=Wa()|0;break}else if((g|0)==30){d=Wa()|0;break}}else g=42;while(0);do if((g|0)==42){x=0;qa(182,a|0);y=x;x=0;if(y&1){d=Wa()|0;break}b=k[s>>2]|0;c=b;if(b){d=k[u>>2]|0;if((d|0)!=(b|0))k[u>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[v>>2]|0;if(!b){r=t;return}c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-6-b|0)>>>0)/6|0)*6|0);mj(b);r=t;return}while(0);b=k[s>>2]|0;c=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[v>>2]|0;if(!b)fb(d|0);c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-6-b|0)>>>0)/6|0)*6|0);mj(b);fb(d|0)}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=a+180|0;if((k[B>>2]|0)<=0)return;C=a+4608|0;D=a+4604|0;E=a+4612|0;A=0;while(1){x=A+-1|0;f=k[C>>2]|0;g=k[D>>2]|0;b=A+1|0;e=m[g+(A*6|0)>>1]|0;z=k[E>>2]|0;h=m[g+(x*6|0)>>1]|0;l=e-h|0;n=m[f+(x*6|0)>>1]|0;o=h-n|0;p=((((i[z+((m[g+(b*6|0)>>1]|0)-e)>>0]|0)*9|0)+(i[z+l>>0]|0)|0)*9|0)+(i[z+o>>0]|0)|0;d=m[g+(A*6|0)+2>>1]|0;q=m[g+(x*6|0)+2>>1]|0;r=d-q|0;s=m[f+(x*6|0)+2>>1]|0;t=q-s|0;u=((((i[z+((m[g+(b*6|0)+2>>1]|0)-d)>>0]|0)*9|0)+(i[z+r>>0]|0)|0)*9|0)+(i[z+t>>0]|0)|0;c=m[g+(A*6|0)+4>>1]|0;v=m[g+(x*6|0)+4>>1]|0;w=c-v|0;x=m[f+(x*6|0)+4>>1]|0;y=v-x|0;z=((((i[z+((m[g+(b*6|0)+4>>1]|0)-c)>>0]|0)*9|0)+(i[z+w>>0]|0)|0)*9|0)+(i[z+y>>0]|0)|0;if(!(u|p|z))b=(Ce(a,A,0)|0)+A|0;else{g=m[f+(A*6|0)>>1]|0;f=e-n>>31;if((f^o|0)>=0)if((f^l|0)<0)e=n;else e=n-h+e|0;g=De(a,p,g,e,0)|0;f=m[(k[C>>2]|0)+(A*6|0)+2>>1]|0;e=d-s>>31;if((e^t|0)>=0)if((e^r|0)<0)d=s;else d=s-q+d|0;e=De(a,u,f,d,0)|0;f=m[(k[C>>2]|0)+(A*6|0)+4>>1]|0;d=c-x>>31;if((d^y|0)>=0)if((d^w|0)<0)c=x;else c=x-v+c|0;y=De(a,z,f,c,0)|0;z=k[C>>2]|0;j[z+(A*6|0)>>1]=g;j[z+(A*6|0)+2>>1]=e;j[z+(A*6|0)+4>>1]=y}if((b|0)<(k[B>>2]|0))A=b;else break}return}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=r;r=r+48|0;q=B+30|0;p=B+24|0;o=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(k[a+180>>2]|0)-b|0;A=k[a+4608>>2]|0;t=k[a+4604>>2]|0;w=b+-1|0;u=j[A+(w*6|0)>>1]|0;v=j[A+(w*6|0)+2>>1]|0;w=j[A+(w*6|0)+4>>1]|0;c=u&65535;d=a+144|0;e=v&65535;f=w&65535;n=0;while(1){i=n+b|0;g=A+(i*6|0)|0;h=A+(i*6|0)+2|0;i=A+(i*6|0)+4|0;C=(m[g>>1]|0)-c|0;l=k[d>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(l|0))break;C=(m[h>>1]|0)-e|0;if((((C|0)>-1?C:0-C|0)|0)>(l|0))break;C=(m[i>>1]|0)-f|0;if((((C|0)>-1?C:0-C|0)|0)>(l|0))break;j[g>>1]=u;j[h>>1]=v;j[i>>1]=w;n=n+1|0;if((n|0)==(z|0)){n=z;break}}e=(n|0)==(z|0);f=a+4600|0;d=k[36476+(k[f>>2]<<2)>>2]|0;if((1<(n|0))c=n;else{c=n;do{ke(a,1,1);d=k[f>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[f>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>1]=j[C>>1]|0;j[x+2>>1]=j[C+2>>1]|0;j[x+4>>1]=j[C+4>>1]|0;j[y>>1]=u;j[y+2>>1]=v;j[y+4>>1]=w;b=t+(b*6|0)|0;j[o>>1]=j[x>>1]|0;j[o+2>>1]=j[x+2>>1]|0;j[o+4>>1]=j[x+4>>1]|0;j[p>>1]=j[y>>1]|0;j[p+2>>1]=j[y+2>>1]|0;j[p+4>>1]=j[y+4>>1]|0;j[q>>1]=j[b>>1]|0;j[q+2>>1]=j[b+2>>1]|0;j[q+4>>1]=j[b+4>>1]|0;Fe(s,a,o,p,q);j[C>>1]=j[s>>1]|0;j[C+2>>1]=j[s+2>>1]|0;j[C+4>>1]=j[s+4>>1]|0;C=k[f>>2]|0;k[f>>2]=(C|0)<1?0:C+-1|0;C=n+1|0;r=B;return C|0}if(!c){C=z;r=B;return C|0}ke(a,1,1);C=z;r=B;return C|0}function De(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b>>31;f=(r^b)-r|0;p=a+196+(f*12|0)+10|0;g=j[p>>1]|0;o=a+196+(f*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){b=5;while(1)if((g<>1]^r)-r+d|0;q=a+136|0;d=k[q>>2]|0;if((e&d|0)==(e|0))l=e;else l=d&~(e>>31);e=(c-l^r)-r|0;i=a+144|0;d=k[i>>2]|0;if((e|0)>0)e=(e+d|0)/(d<<1|1|0)|0;else e=(e-d|0)/(d<<1|1|0)|0;n=a+140|0;h=k[n>>2]|0;c=((e|0)<0?h:0)+e|0;h=c-((c|0)<((h+1|0)/2|0|0)?0:h)|0;f=a+196+(f*12|0)+4|0;if(!(d|b))e=(k[f>>2]<<1)+-1+g>>31;else e=0;d=e^h;Ee(a,b,d>>30^d<<1,k[a+156>>2]|0);d=k[a+160>>2]|0;b=(k[o>>2]|0)+((h|0)>-1?h:0-h|0)|0;e=(k[f>>2]|0)+(ia(k[i>>2]<<1|1,h)|0)|0;c=j[p>>1]|0;if((c|0)==(d|0)){b=b>>1;e=e>>1;c=d>>1}k[o>>2]=b;d=c+1|0;j[p>>1]=d;b=d+e|0;if((b|0)>=1){if((e|0)>0){e=e-d|0;p=j[m>>1]|0;j[m>>1]=(p<<16>>16<127&1)+(p&65535);e=(e|0)>0?0:e}}else{e=j[m>>1]|0;j[m>>1]=(e&65535)-(e<<16>>16>-128&1);e=(b|0)>(~c|0)?b:0-c|0}k[f>>2]=e;d=k[i>>2]|0;c=d<<1|1;b=(ia(c,(h^r)-r|0)|0)+l|0;if((b|0)>=(0-d|0)){e=k[q>>2]|0;if((e+d|0)<(b|0))b=b-(ia(k[n>>2]|0,c)|0)|0}else{b=(ia(k[n>>2]|0,c)|0)+b|0;e=k[q>>2]|0}if((b&e|0)==(b|0)){r=b;r=r&65535;return r|0}r=e&~(b>>31);r=r&65535;return r|0}function Ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c>>b;f=a+148|0;g=d-(k[f>>2]|0)|0;if((e|0)<(g+-1|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-31-(k[f>>2]|0)|0)}else ke(a,1,g);b=k[f>>2]|0;ke(a,(1<>1]|0;p=o-(m[d>>1]|0)>>31|1;f=ia(p,(m[c>>1]|0)-o|0)|0;l=b+144|0;g=k[l>>2]|0;if((f|0)>0)f=(f+g|0)/(g<<1|1|0)|0;else f=(f-g|0)/(g<<1|1|0)|0;w=b+140|0;i=k[w>>2]|0;h=((f|0)<0?i:0)+f|0;i=h-((h|0)<((i+1|0)/2|0|0)?0:i)|0;h=b+4576|0;Ge(b,h,i);t=m[e+2>>1]|0;u=t-(m[d+2>>1]|0)>>31|1;f=ia(u,(m[c+2>>1]|0)-t|0)|0;g=k[l>>2]|0;if((f|0)>0)f=(f+g|0)/(g<<1|1|0)|0;else f=(f-g|0)/(g<<1|1|0)|0;q=k[w>>2]|0;v=((f|0)<0?q:0)+f|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;Ge(b,h,q);v=m[e+4>>1]|0;s=v-(m[d+4>>1]|0)>>31|1;f=ia(s,(m[c+4>>1]|0)-v|0)|0;g=k[l>>2]|0;if((f|0)>0)f=(f+g|0)/(g<<1|1|0)|0;else f=(f-g|0)/(g<<1|1|0)|0;n=k[w>>2]|0;f=((f|0)<0?n:0)+f|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;Ge(b,h,n);h=k[l>>2]|0;l=h<<1|1;f=(ia(ia(l,i)|0,p)|0)+o|0;c=0-h|0;if((f|0)>=(c|0)){g=k[r>>2]|0;if((g+h|0)<(f|0)){f=f-(ia(k[w>>2]|0,l)|0)|0;d=g}else d=g}else{f=(ia(k[w>>2]|0,l)|0)+f|0;d=k[r>>2]|0}if((f&d|0)!=(f|0))f=d&~(f>>31);e=f&65535;f=(ia(ia(l,q)|0,u)|0)+t|0;if((f|0)>=(c|0)){if((d+h|0)<(f|0))f=f-(ia(k[w>>2]|0,l)|0)|0}else f=(ia(k[w>>2]|0,l)|0)+f|0;if((f&d|0)!=(f|0))f=d&~(f>>31);g=f&65535;f=(ia(ia(l,n)|0,s)|0)+v|0;if((f|0)>=(c|0)){if((d+h|0)<(f|0))f=f-(ia(k[w>>2]|0,l)|0)|0}else f=(ia(k[w>>2]|0,l)|0)+f|0;if((f&d|0)==(f|0)){w=f;w=w&65535;j[a>>1]=e;v=a+2|0;j[v>>1]=g;a=a+4|0;j[a>>1]=w;return}w=d&~(f>>31);w=w&65535;j[a>>1]=e;v=a+2|0;j[v>>1]=g;a=a+4|0;j[a>>1]=w;return}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;Ee(a,e,d,(k[a+156>>2]|0)+-1-(k[36476+(k[a+4600>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function He(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o;n=a+144|0;a:do if(!(k[n>>2]|0)){c=k[a+136>>2]|0;b=a+152|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+184>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+188>>2]|0):0)?(k[d+12>>2]|0)==(k[a+192>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4612>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4612>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4612>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4612>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+152|0;while(0);m=1<>2];c=a+4616|0;d=m<<1;e=a+4620|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4612|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+192|0;j=a+188|0;g=a+184|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function Ie(a){a=a|0;var b=0,c=0;k[a>>2]=36024;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Je(a){a=a|0;var b=0,c=0;k[a>>2]=36024;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+136>>2]|0,k[a+144>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+184>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+188>>2]=f;k[a+192>>2]=e;zf(a);e=a+140|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+196+(f*12|0)>>2]=b;k[a+196+(f*12|0)+4>>2]=0;j[a+196+(f*12|0)+8>>1]=0;j[a+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4576>>2]=h;k[a+4580>>2]=0;i[a+4584>>0]=l;i[a+4585>>0]=1;i[a+4586>>0]=0;k[a+4588>>2]=h;k[a+4592>>2]=1;i[a+4596>>0]=l;i[a+4597>>0]=1;i[a+4598>>0]=0;k[a+4600>>2]=0;r=g;return}function Le(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4624)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35800;k[b+128>>2]=k[a+136>>2];k[b+132>>2]=k[a+140>>2];k[b+136>>2]=k[a+144>>2];k[b+140>>2]=k[a+148>>2];k[b+144>>2]=k[a+152>>2];k[b+148>>2]=k[a+156>>2];k[b+152>>2]=k[a+160>>2];e=b+156|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+172>>2]=k[d>>2];k[b+176>>2]=0;k[b+180>>2]=0;k[b+184>>2]=0;e=b+4568|0;d=b+188|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4580|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4592|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];sf(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;sf(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;k[a>>2]=36712;k[a+4>>2]=c;m=a+8|0;d=k[c>>2]|0;j=c+16|0;g=k[j>>2]|0;f=ia(g,d)|0;k[m>>2]=0;n=a+12|0;k[n>>2]=0;k[a+16>>2]=0;do if(!f)f=g;else{if(!((f|0)<0?(x=0,qa(178,m|0),g=x,x=0,g&1):0))l=4;if((l|0)==4?(x=0,h=ta(67,f|0)|0,g=x,x=0,!(g&1)):0){k[n>>2]=h;k[m>>2]=h;k[a+16>>2]=h+f;d=h;do{i[d>>0]=0;d=(k[n>>2]|0)+1|0;k[n>>2]=d;f=f+-1|0}while((f|0)!=0);f=k[j>>2]|0;d=k[c>>2]|0;break}d=Wa()|0;e=k[m>>2]|0;if(e){if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e)}n=d;fb(n|0)}while(0);g=a+20|0;d=ia(f,d)|0;k[g>>2]=0;f=a+24|0;k[f>>2]=0;k[a+28>>2]=0;if(!d){n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))l=15;if((l|0)==15?(x=0,e=ta(67,d|0)|0,l=x,x=0,!(l&1)):0){k[f>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[f>>2]|0)+1|0;k[f>>2]=e;d=d+-1|0}while((d|0)!=0);n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}d=Wa()|0;e=k[g>>2]|0;if(e){if((k[f>>2]|0)!=(e|0))k[f>>2]=e;mj(e)}e=k[m>>2]|0;if(!e){n=d;fb(n|0)}if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e);n=d;fb(n|0)}function Oe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;k[a>>2]=36688;k[a+4>>2]=c;m=a+8|0;d=k[c>>2]|0;j=c+16|0;g=k[j>>2]|0;f=ia(g,d)|0;k[m>>2]=0;n=a+12|0;k[n>>2]=0;k[a+16>>2]=0;do if(!f)f=g;else{if(!((f|0)<0?(x=0,qa(178,m|0),g=x,x=0,g&1):0))l=4;if((l|0)==4?(x=0,h=ta(67,f|0)|0,g=x,x=0,!(g&1)):0){k[n>>2]=h;k[m>>2]=h;k[a+16>>2]=h+f;d=h;do{i[d>>0]=0;d=(k[n>>2]|0)+1|0;k[n>>2]=d;f=f+-1|0}while((f|0)!=0);f=k[j>>2]|0;d=k[c>>2]|0;break}d=Wa()|0;e=k[m>>2]|0;if(e){if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e)}n=d;fb(n|0)}while(0);g=a+20|0;d=ia(f,d)|0;k[g>>2]=0;f=a+24|0;k[f>>2]=0;k[a+28>>2]=0;if(!d){n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))l=15;if((l|0)==15?(x=0,e=ta(67,d|0)|0,l=x,x=0,!(l&1)):0){k[f>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[f>>2]|0)+1|0;k[f>>2]=e;d=d+-1|0}while((d|0)!=0);n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}d=Wa()|0;e=k[g>>2]|0;if(e){if((k[f>>2]|0)!=(e|0))k[f>>2]=e;mj(e)}e=k[m>>2]|0;if(!e){n=d;fb(n|0)}if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e);n=d;fb(n|0)}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;k[a>>2]=36664;k[a+4>>2]=c;m=a+8|0;d=k[c>>2]|0;j=c+16|0;g=k[j>>2]|0;f=ia(g,d)|0;k[m>>2]=0;n=a+12|0;k[n>>2]=0;k[a+16>>2]=0;do if(!f)f=g;else{if(!((f|0)<0?(x=0,qa(178,m|0),g=x,x=0,g&1):0))l=4;if((l|0)==4?(x=0,h=ta(67,f|0)|0,g=x,x=0,!(g&1)):0){k[n>>2]=h;k[m>>2]=h;k[a+16>>2]=h+f;d=h;do{i[d>>0]=0;d=(k[n>>2]|0)+1|0;k[n>>2]=d;f=f+-1|0}while((f|0)!=0);f=k[j>>2]|0;d=k[c>>2]|0;break}d=Wa()|0;e=k[m>>2]|0;if(e){if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e)}n=d;fb(n|0)}while(0);g=a+20|0;d=ia(f,d)|0;k[g>>2]=0;f=a+24|0;k[f>>2]=0;k[a+28>>2]=0;if(!d){n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))l=15;if((l|0)==15?(x=0,e=ta(67,d|0)|0,l=x,x=0,!(l&1)):0){k[f>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[f>>2]|0)+1|0;k[f>>2]=e;d=d+-1|0}while((d|0)!=0);n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}d=Wa()|0;e=k[g>>2]|0;if(e){if((k[f>>2]|0)!=(e|0))k[f>>2]=e;mj(e)}e=k[m>>2]|0;if(!e){n=d;fb(n|0)}if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e);n=d;fb(n|0)}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;k[a>>2]=36640;k[a+4>>2]=c;m=a+8|0;d=k[c>>2]|0;j=c+16|0;g=k[j>>2]|0;f=ia(g,d)|0;k[m>>2]=0;n=a+12|0;k[n>>2]=0;k[a+16>>2]=0;do if(!f)f=g;else{if(!((f|0)<0?(x=0,qa(178,m|0),g=x,x=0,g&1):0))l=4;if((l|0)==4?(x=0,h=ta(67,f|0)|0,g=x,x=0,!(g&1)):0){k[n>>2]=h;k[m>>2]=h;k[a+16>>2]=h+f;d=h;do{i[d>>0]=0;d=(k[n>>2]|0)+1|0;k[n>>2]=d;f=f+-1|0}while((f|0)!=0);f=k[j>>2]|0;d=k[c>>2]|0;break}d=Wa()|0;e=k[m>>2]|0;if(e){if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e)}n=d;fb(n|0)}while(0);g=a+20|0;d=ia(f,d)|0;k[g>>2]=0;f=a+24|0;k[f>>2]=0;k[a+28>>2]=0;if(!d){n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}if(!((d|0)<0?(x=0,qa(178,g|0),c=x,x=0,c&1):0))l=15;if((l|0)==15?(x=0,e=ta(67,d|0)|0,l=x,x=0,!(l&1)):0){k[f>>2]=e;k[g>>2]=e;k[a+28>>2]=e+d;do{i[e>>0]=0;e=(k[f>>2]|0)+1|0;k[f>>2]=e;d=d+-1|0}while((d|0)!=0);n=a+36|0;k[n>>2]=k[b>>2];k[n+4>>2]=k[b+4>>2];k[n+8>>2]=k[b+8>>2];return}d=Wa()|0;e=k[g>>2]|0;if(e){if((k[f>>2]|0)!=(e|0))k[f>>2]=e;mj(e)}e=k[m>>2]|0;if(!e){n=d;fb(n|0)}if((k[n>>2]|0)!=(e|0))k[n>>2]=e;mj(e);n=d;fb(n|0)}function Re(a){a=a|0;var b=0,c=0;k[a>>2]=36640;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=k[a+8>>2]|0;if(!c)return;b=a+12|0;if((k[b>>2]|0)!=(c|0))k[b>>2]=c;mj(c);return}function Se(a){a=a|0;var b=0,c=0;k[a>>2]=36640;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}b=k[a+8>>2]|0;if(!b){mj(a);return}c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b);mj(a);return}function Te(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=a+36|0;if(!(k[e>>2]|0)){e=a+40|0;Xe(a,b,k[e>>2]|0,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}f=ia(k[(k[a+4>>2]|0)+16>>2]|0,c)|0;g=a+20|0;Xe(a,b,k[g>>2]|0,c,d);a=k[e>>2]|0;if((Qb[k[(k[a>>2]|0)+48>>2]&63](a,k[g>>2]|0,f)|0)==(f|0))return;e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,3,35648);g=x;x=0;if(g&1){g=Wa()|0;Ua(e|0);fb(g|0)}else ub(e|0,824,96)}function Ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;Ve(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{We(a,e,b,c,d);return}}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0;h=a+4|0;f=k[h>>2]|0;if(!(i[f+32>>0]|0))h=b;else{g=a+8|0;vw(k[g>>2]|0,b|0,d*3|0)|0;f=k[h>>2]|0;b=k[f+16>>2]|0;if((d|0)>0){f=k[g>>2]|0;a=0;while(1){j=f+2|0;m=i[f>>0]|0;i[f>>0]=i[j>>0]|0;i[j>>0]=m;a=a+1|0;if((a|0)==(d|0))break;else f=f+b|0}f=k[h>>2]|0}h=k[g>>2]|0}switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{g=l[h+(f*3|0)+1>>0]|0;e=128-g+(l[h+(f*3|0)+2>>0]|0)|0;j=(l[h+(f*3|0)>>0]|0)-g+128|0;m=c+(f*3|0)|0;i[m>>0]=g+192+(((e&255)+(j&255)|0)>>>2);i[m+1>>0]=e;i[m+2>>0]=j;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{d=l[h+(b*3|0)+1>>0]|0;j=128-d+(l[h+(b*3|0)+2>>0]|0)|0;m=(l[h+(b*3|0)>>0]|0)-d+128|0;i[c+b>>0]=d+192+(((j&255)+(m&255)|0)>>>2);i[c+(b+e)>>0]=j;i[c+(b+a)>>0]=m;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{m=i[h+(g<<2)+3>>0]|0;n=l[h+(g<<2)+1>>0]|0;d=128-n+(l[h+(g<<2)+2>>0]|0)|0;j=(l[h+(g<<2)>>0]|0)-n+128|0;i[c+g>>0]=n+192+(((d&255)+(j&255)|0)>>>2);i[c+(g+e)>>0]=d;i[c+(g+a)>>0]=j;i[c+(g+b)>>0]=m;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+176|0;n=m+152|0;p=m+16|0;o=m;g=ia(k[(k[a+4>>2]|0)+16>>2]|0,d)|0;j=a+20|0;f=k[j>>2]|0;if(!g){p=f;Ve(a,p,c,d,e);r=m;return}while(1){h=Qb[k[(k[b>>2]|0)+32>>2]&63](b,f,g)|0;if(!h)break;f=k[j>>2]|0;if((g|0)==(h|0)){l=26;break}else g=g-h|0}if((l|0)==26){Ve(a,f,c,d,e);r=m;return}c=p+56|0;j=p+4|0;k[p>>2]=36160;k[c>>2]=36180;x=0;ra(62,p+56|0,j|0);m=x;x=0;if(m&1){p=Wa()|0;qn(c);fb(p|0)}k[p+128>>2]=0;k[p+132>>2]=-1;k[p>>2]=36200;k[p+56>>2]=36220;x=0;qa(180,j|0);m=x;x=0;do if(m&1)f=Wa()|0;else{k[j>>2]=36236;b=p+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[p+52>>2]=16;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;x=0;ra(63,j|0,n|0);m=x;x=0;if(m&1){f=Wa()|0;Sm(n);Sm(b);xn(j);break}Sm(n);x=0;f=va(28,p|0,49029,57)|0;n=x;x=0;if(!(n&1)?(x=0,Aa(36,f|0,0)|0,n=x,x=0,!(n&1)):0){h=Va(16)|0;x=0;ra(64,o|0,j|0);n=x;x=0;if(!(n&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,o|0);n=x;x=0;if(n&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(o);if(!g){o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}}else f=Wa()|0;Ua(h|0);o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}o=Wa()|0;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}while(0);p=f;qn(c);fb(p|0)}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;j=a+4|0;a=k[j>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){g=l[b+(a*3|0)+1>>0]|0;f=l[b+(a*3|0)+2>>0]|0;h=(l[b+(a*3|0)>>0]|0)-((f+g|0)>>>2)+64|0;e=c+(a*3|0)|0;i[e>>0]=f+128+h;i[e+1>>0]=h;i[e+2>>0]=g+128+h;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=l[b+(g+e)>>0]|0;o=l[b+(g+f)>>0]|0;m=(l[b+g>>0]|0)-((o+n|0)>>>2)+64|0;h=c+(g*3|0)|0;i[h>>0]=o+128+m;i[h+1>>0]=m;i[h+2>>0]=n+128+m;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{m=l[b+(g+e)>>0]|0;p=l[b+(g+a)>>0]|0;n=(l[b+g>>0]|0)-((p+m|0)>>>2)+64|0;o=c+(g<<2)|0;n=n<<8&65280|l[b+(g+f)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;i[o>>0]=n;i[o+1>>0]=n>>8;i[o+2>>0]=n>>16;i[o+3>>0]=n>>24;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[j>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)>0){a=c;f=0}else return;while(1){p=a+2|0;o=i[a>>0]|0;i[a>>0]=i[p>>0]|0;i[p>>0]=o;f=f+1|0;if((f|0)==(d|0))break;else a=a+g|0}return}function Ye(a){a=a|0;var b=0,c=0;k[a>>2]=36664;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=k[a+8>>2]|0;if(!c)return;b=a+12|0;if((k[b>>2]|0)!=(c|0))k[b>>2]=c;mj(c);return}function Ze(a){a=a|0;var b=0,c=0;k[a>>2]=36664;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}b=k[a+8>>2]|0;if(!b){mj(a);return}c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b);mj(a);return}function _e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=a+36|0;if(!(k[e>>2]|0)){e=a+40|0;cf(a,b,k[e>>2]|0,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}f=ia(k[(k[a+4>>2]|0)+16>>2]|0,c)|0;g=a+20|0;cf(a,b,k[g>>2]|0,c,d);a=k[e>>2]|0;if((Qb[k[(k[a>>2]|0)+48>>2]&63](a,k[g>>2]|0,f)|0)==(f|0))return;e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,3,35648);g=x;x=0;if(g&1){g=Wa()|0;Ua(e|0);fb(g|0)}else ub(e|0,824,96)}function $e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;af(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{bf(a,e,b,c,d);return}}function af(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0;h=a+4|0;f=k[h>>2]|0;if(!(i[f+32>>0]|0))h=b;else{g=a+8|0;vw(k[g>>2]|0,b|0,d*3|0)|0;f=k[h>>2]|0;b=k[f+16>>2]|0;if((d|0)>0){f=k[g>>2]|0;a=0;while(1){j=f+2|0;m=i[f>>0]|0;i[f>>0]=i[j>>0]|0;i[j>>0]=m;a=a+1|0;if((a|0)==(d|0))break;else f=f+b|0}f=k[h>>2]|0}h=k[g>>2]|0}switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{b=l[h+(f*3|0)>>0]|0;e=i[h+(f*3|0)+1>>0]|0;g=e&255;j=(l[h+(f*3|0)+2>>0]|0)+128-((g+b|0)>>>1)&255;m=c+(f*3|0)|0;i[m>>0]=b+128-g;i[m+1>>0]=e;i[m+2>>0]=j;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{j=i[h+(b*3|0)+1>>0]|0;g=l[h+(b*3|0)>>0]|0;d=j&255;m=(l[h+(b*3|0)+2>>0]|0)+128-((d+g|0)>>>1)&255;i[c+b>>0]=g+128-d;i[c+(b+e)>>0]=j;i[c+(b+a)>>0]=m;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{d=i[h+(g<<2)+1>>0]|0;m=i[h+(g<<2)+3>>0]|0;o=l[h+(g<<2)>>0]|0;n=d&255;j=(l[h+(g<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;i[c+g>>0]=o+128-n;i[c+(g+e)>>0]=d;i[c+(g+a)>>0]=j;i[c+(g+b)>>0]=m;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function bf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+176|0;n=m+152|0;p=m+16|0;o=m;g=ia(k[(k[a+4>>2]|0)+16>>2]|0,d)|0;j=a+20|0;f=k[j>>2]|0;if(!g){p=f;af(a,p,c,d,e);r=m;return}while(1){h=Qb[k[(k[b>>2]|0)+32>>2]&63](b,f,g)|0;if(!h)break;f=k[j>>2]|0;if((g|0)==(h|0)){l=26;break}else g=g-h|0}if((l|0)==26){af(a,f,c,d,e);r=m;return}c=p+56|0;j=p+4|0;k[p>>2]=36160;k[c>>2]=36180;x=0;ra(62,p+56|0,j|0);m=x;x=0;if(m&1){p=Wa()|0;qn(c);fb(p|0)}k[p+128>>2]=0;k[p+132>>2]=-1;k[p>>2]=36200;k[p+56>>2]=36220;x=0;qa(180,j|0);m=x;x=0;do if(m&1)f=Wa()|0;else{k[j>>2]=36236;b=p+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[p+52>>2]=16;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;x=0;ra(63,j|0,n|0);m=x;x=0;if(m&1){f=Wa()|0;Sm(n);Sm(b);xn(j);break}Sm(n);x=0;f=va(28,p|0,49029,57)|0;n=x;x=0;if(!(n&1)?(x=0,Aa(36,f|0,0)|0,n=x,x=0,!(n&1)):0){h=Va(16)|0;x=0;ra(64,o|0,j|0);n=x;x=0;if(!(n&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,o|0);n=x;x=0;if(n&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(o);if(!g){o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}}else f=Wa()|0;Ua(h|0);o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}o=Wa()|0;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}while(0);p=f;qn(c);fb(p|0)}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0;j=a+4|0;a=k[j>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){g=i[b+(a*3|0)+1>>0]|0;h=g&255;f=(l[b+(a*3|0)>>0]|0)+128+h|0;h=(l[b+(a*3|0)+2>>0]|0)+128+(((f&255)+h|0)>>>1)&255;e=c+(a*3|0)|0;i[e>>0]=f;i[e+1>>0]=g;i[e+2>>0]=h;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=i[b+(g+e)>>0]|0;m=n&255;o=(l[b+g>>0]|0)+128+m|0;m=(l[b+(g+f)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;h=c+(g*3|0)|0;i[h>>0]=o;i[h+1>>0]=n;i[h+2>>0]=m;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{n=l[b+(g+e)>>0]|0;m=(l[b+g>>0]|0)+128+n&255;o=c+(g<<2)|0;n=m|n<<8|l[b+(g+f)>>0]<<24|(l[b+(g+a)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;i[o>>0]=n;i[o+1>>0]=n>>8;i[o+2>>0]=n>>16;i[o+3>>0]=n>>24;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[j>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)>0){a=c;f=0}else return;while(1){o=a+2|0;n=i[a>>0]|0;i[a>>0]=i[o>>0]|0;i[o>>0]=n;f=f+1|0;if((f|0)==(d|0))break;else a=a+g|0}return}function df(a){a=a|0;var b=0,c=0;k[a>>2]=36688;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=k[a+8>>2]|0;if(!c)return;b=a+12|0;if((k[b>>2]|0)!=(c|0))k[b>>2]=c;mj(c);return}function ef(a){a=a|0;var b=0,c=0;k[a>>2]=36688;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}b=k[a+8>>2]|0;if(!b){mj(a);return}c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b);mj(a);return}function ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=a+36|0;if(!(k[e>>2]|0)){e=a+40|0;kf(a,b,k[e>>2]|0,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}f=ia(k[(k[a+4>>2]|0)+16>>2]|0,c)|0;g=a+20|0;kf(a,b,k[g>>2]|0,c,d);a=k[e>>2]|0;if((Qb[k[(k[a>>2]|0)+48>>2]&63](a,k[g>>2]|0,f)|0)==(f|0))return;e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,3,35648);g=x;x=0;if(g&1){g=Wa()|0;Ua(e|0);fb(g|0)}else ub(e|0,824,96)}function gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;hf(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{jf(a,e,b,c,d);return}}function hf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0;h=a+4|0;f=k[h>>2]|0;if(!(i[f+32>>0]|0))h=b;else{g=a+8|0;vw(k[g>>2]|0,b|0,d*3|0)|0;f=k[h>>2]|0;b=k[f+16>>2]|0;if((d|0)>0){f=k[g>>2]|0;a=0;while(1){j=f+2|0;m=i[f>>0]|0;i[f>>0]=i[j>>0]|0;i[j>>0]=m;a=a+1|0;if((a|0)==(d|0))break;else f=f+b|0}f=k[h>>2]|0}h=k[g>>2]|0}switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{e=i[h+(f*3|0)+1>>0]|0;g=e&255;j=128-g+(l[h+(f*3|0)+2>>0]|0)&255;m=c+(f*3|0)|0;i[m>>0]=(l[h+(f*3|0)>>0]|0)+128-g;i[m+1>>0]=e;i[m+2>>0]=j;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{j=i[h+(b*3|0)+1>>0]|0;d=j&255;m=128-d+(l[h+(b*3|0)+2>>0]|0)&255;i[c+b>>0]=(l[h+(b*3|0)>>0]|0)+128-d;i[c+(b+e)>>0]=j;i[c+(b+a)>>0]=m;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{d=i[h+(g<<2)+1>>0]|0;m=i[h+(g<<2)+3>>0]|0;n=d&255;j=128-n+(l[h+(g<<2)+2>>0]|0)&255;i[c+g>>0]=(l[h+(g<<2)>>0]|0)+128-n;i[c+(g+e)>>0]=d;i[c+(g+a)>>0]=j;i[c+(g+b)>>0]=m;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function jf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+176|0;n=m+152|0;p=m+16|0;o=m;g=ia(k[(k[a+4>>2]|0)+16>>2]|0,d)|0;j=a+20|0;f=k[j>>2]|0;if(!g){p=f;hf(a,p,c,d,e);r=m;return}while(1){h=Qb[k[(k[b>>2]|0)+32>>2]&63](b,f,g)|0;if(!h)break;f=k[j>>2]|0;if((g|0)==(h|0)){l=26;break}else g=g-h|0}if((l|0)==26){hf(a,f,c,d,e);r=m;return}c=p+56|0;j=p+4|0;k[p>>2]=36160;k[c>>2]=36180;x=0;ra(62,p+56|0,j|0);m=x;x=0;if(m&1){p=Wa()|0;qn(c);fb(p|0)}k[p+128>>2]=0;k[p+132>>2]=-1;k[p>>2]=36200;k[p+56>>2]=36220;x=0;qa(180,j|0);m=x;x=0;do if(m&1)f=Wa()|0;else{k[j>>2]=36236;b=p+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[p+52>>2]=16;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;x=0;ra(63,j|0,n|0);m=x;x=0;if(m&1){f=Wa()|0;Sm(n);Sm(b);xn(j);break}Sm(n);x=0;f=va(28,p|0,49029,57)|0;n=x;x=0;if(!(n&1)?(x=0,Aa(36,f|0,0)|0,n=x,x=0,!(n&1)):0){h=Va(16)|0;x=0;ra(64,o|0,j|0);n=x;x=0;if(!(n&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,o|0);n=x;x=0;if(n&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(o);if(!g){o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}}else f=Wa()|0;Ua(h|0);o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}o=Wa()|0;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}while(0);p=f;qn(c);fb(p|0)}function kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0;j=a+4|0;a=k[j>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){g=i[b+(a*3|0)+1>>0]|0;f=g&255;h=f+128+(l[b+(a*3|0)+2>>0]|0)&255;e=c+(a*3|0)|0;i[e>>0]=(l[b+(a*3|0)>>0]|0)+128+f;i[e+1>>0]=g;i[e+2>>0]=h;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=i[b+(g+e)>>0]|0;o=n&255;m=o+128+(l[b+(g+f)>>0]|0)&255;h=c+(g*3|0)|0;i[h>>0]=(l[b+g>>0]|0)+128+o;i[h+1>>0]=n;i[h+2>>0]=m;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{n=l[b+(g+e)>>0]|0;o=c+(g<<2)|0;n=(l[b+g>>0]|0)+128+n&255|n<<8|l[b+(g+f)>>0]<<24|n+128+(l[b+(g+a)>>0]|0)<<16&16711680;i[o>>0]=n;i[o+1>>0]=n>>8;i[o+2>>0]=n>>16;i[o+3>>0]=n>>24;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[j>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)>0){a=c;f=0}else return;while(1){o=a+2|0;n=i[a>>0]|0;i[a>>0]=i[o>>0]|0;i[o>>0]=n;f=f+1|0;if((f|0)==(d|0))break;else a=a+g|0}return}function lf(a){a=a|0;var b=0,c=0;k[a>>2]=36712;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=k[a+8>>2]|0;if(!c)return;b=a+12|0;if((k[b>>2]|0)!=(c|0))k[b>>2]=c;mj(c);return}function mf(a){a=a|0;var b=0,c=0;k[a>>2]=36712;b=k[a+20>>2]|0;if(b){c=a+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}b=k[a+8>>2]|0;if(!b){mj(a);return}c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b);mj(a);return}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=a+36|0;if(!(k[e>>2]|0)){e=a+40|0;rf(a,b,k[e>>2]|0,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}f=ia(k[(k[a+4>>2]|0)+16>>2]|0,c)|0;g=a+20|0;rf(a,b,k[g>>2]|0,c,d);a=k[e>>2]|0;if((Qb[k[(k[a>>2]|0)+48>>2]&63](a,k[g>>2]|0,f)|0)==(f|0))return;e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,3,35648);g=x;x=0;if(g&1){g=Wa()|0;Ua(e|0);fb(g|0)}else ub(e|0,824,96)}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=k[a+36>>2]|0;if(!e){e=a+40|0;pf(a,k[e>>2]|0,b,c,d);k[e>>2]=(k[e>>2]|0)+(k[(k[a+4>>2]|0)+12>>2]|0);return}else{qf(a,e,b,c,d);return}}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0;h=a+4|0;f=k[h>>2]|0;if(!(i[f+32>>0]|0))h=b;else{g=a+8|0;vw(k[g>>2]|0,b|0,d*3|0)|0;f=k[h>>2]|0;b=k[f+16>>2]|0;if((d|0)>0){f=k[g>>2]|0;a=0;while(1){j=f+2|0;l=i[f>>0]|0;i[f>>0]=i[j>>0]|0;i[j>>0]=l;a=a+1|0;if((a|0)==(d|0))break;else f=f+b|0}f=k[h>>2]|0}h=k[g>>2]|0}switch(k[f+16>>2]|0){case 3:{if((k[f+24>>2]|0)==2){if((d|0)>0)f=0;else return;do{e=i[h+(f*3|0)+1>>0]|0;j=i[h+(f*3|0)+2>>0]|0;l=c+(f*3|0)|0;i[l>>0]=i[h+(f*3|0)>>0]|0;i[l+1>>0]=e;i[l+2>>0]=j;f=f+1|0}while((f|0)!=(d|0));return}f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=0;do{j=i[h+(b*3|0)+1>>0]|0;l=i[h+(b*3|0)+2>>0]|0;i[c+b>>0]=i[h+(b*3|0)>>0]|0;i[c+(b+e)>>0]=j;i[c+(b+a)>>0]=l;b=b+1|0}while((b|0)!=(f|0));return}case 4:{if((k[f+24>>2]|0)!=1)return;f=(e|0)<(d|0)?e:d;if((f|0)<=0)return;a=e<<1;b=e*3|0;g=0;do{d=i[h+(g<<2)+1>>0]|0;j=i[h+(g<<2)+2>>0]|0;l=i[h+(g<<2)+3>>0]|0;i[c+g>>0]=i[h+(g<<2)>>0]|0;i[c+(g+e)>>0]=d;i[c+(g+a)>>0]=j;i[c+(g+b)>>0]=l;g=g+1|0}while((g|0)!=(f|0));return}default:return}}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+176|0;n=m+152|0;p=m+16|0;o=m;g=ia(k[(k[a+4>>2]|0)+16>>2]|0,d)|0;j=a+20|0;f=k[j>>2]|0;if(!g){p=f;pf(a,p,c,d,e);r=m;return}while(1){h=Qb[k[(k[b>>2]|0)+32>>2]&63](b,f,g)|0;if(!h)break;f=k[j>>2]|0;if((g|0)==(h|0)){l=26;break}else g=g-h|0}if((l|0)==26){pf(a,f,c,d,e);r=m;return}c=p+56|0;j=p+4|0;k[p>>2]=36160;k[c>>2]=36180;x=0;ra(62,p+56|0,j|0);m=x;x=0;if(m&1){p=Wa()|0;qn(c);fb(p|0)}k[p+128>>2]=0;k[p+132>>2]=-1;k[p>>2]=36200;k[p+56>>2]=36220;x=0;qa(180,j|0);m=x;x=0;do if(m&1)f=Wa()|0;else{k[j>>2]=36236;b=p+36|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[p+52>>2]=16;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;x=0;ra(63,j|0,n|0);m=x;x=0;if(m&1){f=Wa()|0;Sm(n);Sm(b);xn(j);break}Sm(n);x=0;f=va(28,p|0,49029,57)|0;n=x;x=0;if(!(n&1)?(x=0,Aa(36,f|0,0)|0,n=x,x=0,!(n&1)):0){h=Va(16)|0;x=0;ra(64,o|0,j|0);n=x;x=0;if(!(n&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,h|0,3,35648,o|0);n=x;x=0;if(n&1)g=1;else{x=0;Fa(6,h|0,824,96);x=0;g=0}f=Wa()|0;Sm(o);if(!g){o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}}else f=Wa()|0;Ua(h|0);o=f;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}o=Wa()|0;k[p>>2]=36200;k[c>>2]=36220;k[j>>2]=36236;Sm(b);xn(j);qn(c);fb(o|0)}while(0);p=f;qn(c);fb(p|0)}function rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0;j=a+4|0;a=k[j>>2]|0;a:do switch(k[a+16>>2]|0){case 3:{if((k[a+24>>2]|0)==2){if((d|0)>0)a=0;else break a;while(1){g=i[b+(a*3|0)+1>>0]|0;h=i[b+(a*3|0)+2>>0]|0;e=c+(a*3|0)|0;i[e>>0]=i[b+(a*3|0)>>0]|0;i[e+1>>0]=g;i[e+2>>0]=h;a=a+1|0;if((a|0)==(d|0))break a}}a=(d|0)<(e|0)?d:e;if((a|0)>0){f=e<<1;g=0;do{n=i[b+(g+e)>>0]|0;m=i[b+(g+f)>>0]|0;h=c+(g*3|0)|0;i[h>>0]=i[b+g>>0]|0;i[h+1>>0]=n;i[h+2>>0]=m;g=g+1|0}while((g|0)!=(a|0))}break}case 4:{if((k[a+24>>2]|0)==1?(h=(d|0)<(e|0)?d:e,(h|0)>0):0){a=e<<1;f=e*3|0;g=0;do{n=c+(g<<2)|0;m=l[b+(g+e)>>0]<<8|l[b+g>>0]|l[b+(g+a)>>0]<<16|l[b+(g+f)>>0]<<24;i[n>>0]=m;i[n+1>>0]=m>>8;i[n+2>>0]=m>>16;i[n+3>>0]=m>>24;g=g+1|0}while((g|0)!=(h|0))}break}default:{}}while(0);a=k[j>>2]|0;if(!(i[a+32>>0]|0))return;g=k[a+16>>2]|0;if((d|0)>0){a=c;f=0}else return;while(1){n=a+2|0;m=i[a>>0]|0;i[a>>0]=i[n>>0]|0;i[n>>0]=m;f=f+1|0;if((f|0)==(d|0))break;else a=a+g|0}return}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;t=r;r=r+32|0;v=t+12|0;s=t;o=a+180|0;p=(k[o>>2]|0)+4|0;if((k[a+32>>2]|0)==1)q=k[a+24>>2]|0;else q=1;b=ia(q<<1,p)|0;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;a:do if(b){if(!(b>>>0>1431655765?(x=0,qa(178,v|0),u=x,x=0,u&1):0))f=6;if((f|0)==6?(x=0,c=ta(67,b*3|0)|0,u=x,x=0,!(u&1)):0){k[w>>2]=c;k[v>>2]=c;k[v+8>>2]=c+(b*3|0);while(1){i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;c=(k[w>>2]|0)+3|0;k[w>>2]=c;b=b+-1|0;if(!b)break a}}d=Wa()|0;b=k[v>>2]|0;if(!b)fb(d|0);c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}while(0);k[s>>2]=0;u=s+4|0;k[u>>2]=0;k[s+8>>2]=0;do if(!q)f=19;else{if(!(q>>>0>1073741823?(x=0,qa(178,s|0),n=x,x=0,n&1):0))f=17;if((f|0)==17?(d=q<<2,x=0,e=ta(67,d|0)|0,n=x,x=0,!(n&1)):0){k[s>>2]=e;f=e+(q<<2)|0;k[s+8>>2]=f;sw(e|0,0,d|0)|0;k[u>>2]=f;f=19;break}d=Wa()|0;b=k[s>>2]|0;c=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((f|0)==19){e=a+12|0;b:do if((k[e>>2]|0)>0){f=a+4604|0;g=(ia(q,p)|0)+1|0;h=a+4608|0;j=a+92|0;l=(q|0)>0;m=a+4600|0;n=0;c:while(1){d=k[v>>2]|0;b=d+3|0;k[f>>2]=b;c=d+(g*3|0)|0;k[h>>2]=c;if(!(n&1))b=g;else{k[f>>2]=c;k[h>>2]=b;b=1}c=k[j>>2]|0;x=0;Ja(k[(k[c>>2]|0)+12>>2]|0,c|0,d+(b*3|0)|0,k[o>>2]|0,p|0);d=x;x=0;if(d&1){f=29;break}if(l){b=k[s>>2]|0;c=k[f>>2]|0;d=0;do{k[m>>2]=k[b+(d<<2)>>2];y=k[o>>2]|0;b=c+(y*3|0)|0;c=c+((y+-1|0)*3|0)|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;b=k[f>>2]|0;c=(k[h>>2]|0)+-3|0;i[c>>0]=i[b>>0]|0;i[c+1>>0]=i[b+1>>0]|0;i[c+2>>0]=i[b+2>>0]|0;x=0;ra(70,a|0,0);c=x;x=0;if(c&1){f=28;break c}b=k[s>>2]|0;k[b+(d<<2)>>2]=k[m>>2];c=(k[f>>2]|0)+(p*3|0)|0;k[f>>2]=c;k[h>>2]=(k[h>>2]|0)+(p*3|0);d=d+1|0}while((d|0)<(q|0))}n=n+1|0;if((n|0)>=(k[e>>2]|0)){f=41;break b}}if((f|0)==28){d=Wa()|0;break}else if((f|0)==29){d=Wa()|0;break}}else f=41;while(0);do if((f|0)==41){x=0;qa(182,a|0);y=x;x=0;if(y&1){d=Wa()|0;break}b=k[s>>2]|0;c=b;if(b){d=k[u>>2]|0;if((d|0)!=(b|0))k[u>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[v>>2]|0;if(!b){r=t;return}c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);r=t;return}while(0);b=k[s>>2]|0;c=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[v>>2]|0;if(!b)fb(d|0);c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=a+180|0;if((k[A>>2]|0)<=0)return;B=a+4608|0;C=a+4604|0;D=a+4612|0;z=0;while(1){w=z+-1|0;f=k[B>>2]|0;g=k[C>>2]|0;b=z+1|0;e=l[g+(z*3|0)>>0]|0;y=k[D>>2]|0;h=l[g+(w*3|0)>>0]|0;j=e-h|0;m=l[f+(w*3|0)>>0]|0;n=h-m|0;o=((((i[y+((l[g+(b*3|0)>>0]|0)-e)>>0]|0)*9|0)+(i[y+j>>0]|0)|0)*9|0)+(i[y+n>>0]|0)|0;d=l[g+(z*3|0)+1>>0]|0;p=l[g+(w*3|0)+1>>0]|0;q=d-p|0;r=l[f+(w*3|0)+1>>0]|0;s=p-r|0;t=((((i[y+((l[g+(b*3|0)+1>>0]|0)-d)>>0]|0)*9|0)+(i[y+q>>0]|0)|0)*9|0)+(i[y+s>>0]|0)|0;c=l[g+(z*3|0)+2>>0]|0;u=l[g+(w*3|0)+2>>0]|0;v=c-u|0;w=l[f+(w*3|0)+2>>0]|0;x=u-w|0;y=((((i[y+((l[g+(b*3|0)+2>>0]|0)-c)>>0]|0)*9|0)+(i[y+v>>0]|0)|0)*9|0)+(i[y+x>>0]|0)|0;if(!(t|o|y))b=(uf(a,z,0)|0)+z|0;else{g=l[f+(z*3|0)>>0]|0;f=e-m>>31;if((f^n|0)>=0)if((f^j|0)<0)e=m;else e=m-h+e|0;g=vf(a,o,g,e,0)|0;f=l[(k[B>>2]|0)+(z*3|0)+1>>0]|0;e=d-r>>31;if((e^s|0)>=0)if((e^q|0)<0)d=r;else d=r-p+d|0;e=vf(a,t,f,d,0)|0;f=l[(k[B>>2]|0)+(z*3|0)+2>>0]|0;d=c-w>>31;if((d^x|0)>=0)if((d^v|0)<0)c=w;else c=w-u+c|0;y=vf(a,y,f,c,0)|0;z=(k[B>>2]|0)+(z*3|0)|0;i[z>>0]=g;i[z+1>>0]=e;i[z+2>>0]=y}if((b|0)<(k[A>>2]|0))z=b;else break}return}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=r;r=r+32|0;A=B+15|0;p=B+12|0;o=B+9|0;q=B+6|0;w=B+3|0;x=B;y=(k[a+180>>2]|0)-b|0;z=k[a+4608>>2]|0;s=k[a+4604>>2]|0;v=z+((b+-1|0)*3|0)|0;t=i[v>>0]|0;u=i[v+1>>0]|0;v=i[v+2>>0]|0;c=t&255;d=a+144|0;e=u&255;f=v&255;n=0;while(1){g=z+((n+b|0)*3|0)|0;h=g+1|0;j=g+2|0;C=(l[g>>0]|0)-c|0;m=k[d>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(m|0))break;C=(l[h>>0]|0)-e|0;if((((C|0)>-1?C:0-C|0)|0)>(m|0))break;C=(l[j>>0]|0)-f|0;if((((C|0)>-1?C:0-C|0)|0)>(m|0))break;i[g>>0]=t;i[h>>0]=u;i[j>>0]=v;n=n+1|0;if((n|0)==(y|0)){n=y;break}}e=(n|0)==(y|0);f=a+4600|0;d=k[36476+(k[f>>2]<<2)>>2]|0;if((1<(n|0))c=n;else{c=n;do{ke(a,1,1);d=k[f>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[f>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>0]=i[C>>0]|0;i[w+1>>0]=i[C+1>>0]|0;i[w+2>>0]=i[C+2>>0]|0;i[x>>0]=t;i[x+1>>0]=u;i[x+2>>0]=v;b=s+(b*3|0)|0;i[o>>0]=i[w>>0]|0;i[o+1>>0]=i[w+1>>0]|0;i[o+2>>0]=i[w+2>>0]|0;i[p>>0]=i[x>>0]|0;i[p+1>>0]=i[x+1>>0]|0;i[p+2>>0]=i[x+2>>0]|0;i[A>>0]=i[b>>0]|0;i[A+1>>0]=i[b+1>>0]|0;i[A+2>>0]=i[b+2>>0]|0;xf(q,a,o,p,A);i[C>>0]=i[q>>0]|0;i[C+1>>0]=i[q+1>>0]|0;i[C+2>>0]=i[q+2>>0]|0;C=k[f>>2]|0;k[f>>2]=(C|0)<1?0:C+-1|0;C=n+1|0;r=B;return C|0}if(!c){C=y;r=B;return C|0}ke(a,1,1);C=y;r=B;return C|0}function vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b>>31;f=(r^b)-r|0;p=a+196+(f*12|0)+10|0;g=j[p>>1]|0;o=a+196+(f*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){b=5;while(1)if((g<>1]^r)-r+d|0;q=a+136|0;d=k[q>>2]|0;if((e&d|0)==(e|0))l=e;else l=d&~(e>>31);e=(c-l^r)-r|0;i=a+144|0;d=k[i>>2]|0;if((e|0)>0)e=(e+d|0)/(d<<1|1|0)|0;else e=(e-d|0)/(d<<1|1|0)|0;n=a+140|0;h=k[n>>2]|0;c=((e|0)<0?h:0)+e|0;h=c-((c|0)<((h+1|0)/2|0|0)?0:h)|0;f=a+196+(f*12|0)+4|0;if(!(d|b))e=(k[f>>2]<<1)+-1+g>>31;else e=0;d=e^h;wf(a,b,d>>30^d<<1,k[a+156>>2]|0);d=k[a+160>>2]|0;b=(k[o>>2]|0)+((h|0)>-1?h:0-h|0)|0;e=(k[f>>2]|0)+(ia(k[i>>2]<<1|1,h)|0)|0;c=j[p>>1]|0;if((c|0)==(d|0)){b=b>>1;e=e>>1;c=d>>1}k[o>>2]=b;d=c+1|0;j[p>>1]=d;b=d+e|0;if((b|0)>=1){if((e|0)>0){e=e-d|0;p=j[m>>1]|0;j[m>>1]=(p<<16>>16<127&1)+(p&65535);e=(e|0)>0?0:e}}else{e=j[m>>1]|0;j[m>>1]=(e&65535)-(e<<16>>16>-128&1);e=(b|0)>(~c|0)?b:0-c|0}k[f>>2]=e;d=k[i>>2]|0;c=d<<1|1;b=(ia(c,(h^r)-r|0)|0)+l|0;if((b|0)>=(0-d|0)){e=k[q>>2]|0;if((e+d|0)<(b|0))b=b-(ia(k[n>>2]|0,c)|0)|0}else{b=(ia(k[n>>2]|0,c)|0)+b|0;e=k[q>>2]|0}if((b&e|0)==(b|0)){r=b;r=r&255;return r|0}r=e&~(b>>31);r=r&255;return r|0}function wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c>>b;f=a+148|0;g=d-(k[f>>2]|0)|0;if((e|0)<(g+-1|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-31-(k[f>>2]|0)|0)}else ke(a,1,g);b=k[f>>2]|0;ke(a,(1<>0]|0;p=o-(l[d>>0]|0)>>31|1;f=ia(p,(l[c>>0]|0)-o|0)|0;m=b+144|0;g=k[m>>2]|0;if((f|0)>0)f=(f+g|0)/(g<<1|1|0)|0;else f=(f-g|0)/(g<<1|1|0)|0;w=b+140|0;j=k[w>>2]|0;h=((f|0)<0?j:0)+f|0;j=h-((h|0)<((j+1|0)/2|0|0)?0:j)|0;h=b+4576|0;yf(b,h,j);t=l[e+1>>0]|0;u=t-(l[d+1>>0]|0)>>31|1;f=ia(u,(l[c+1>>0]|0)-t|0)|0;g=k[m>>2]|0;if((f|0)>0)f=(f+g|0)/(g<<1|1|0)|0;else f=(f-g|0)/(g<<1|1|0)|0;q=k[w>>2]|0;v=((f|0)<0?q:0)+f|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;yf(b,h,q);v=l[e+2>>0]|0;s=v-(l[d+2>>0]|0)>>31|1;f=ia(s,(l[c+2>>0]|0)-v|0)|0;g=k[m>>2]|0;if((f|0)>0)f=(f+g|0)/(g<<1|1|0)|0;else f=(f-g|0)/(g<<1|1|0)|0;n=k[w>>2]|0;f=((f|0)<0?n:0)+f|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;yf(b,h,n);h=k[m>>2]|0;m=h<<1|1;f=(ia(ia(m,j)|0,p)|0)+o|0;c=0-h|0;if((f|0)>=(c|0)){g=k[r>>2]|0;if((g+h|0)<(f|0)){f=f-(ia(k[w>>2]|0,m)|0)|0;d=g}else d=g}else{f=(ia(k[w>>2]|0,m)|0)+f|0;d=k[r>>2]|0}if((f&d|0)!=(f|0))f=d&~(f>>31);e=f&255;f=(ia(ia(m,q)|0,u)|0)+t|0;if((f|0)>=(c|0)){if((d+h|0)<(f|0))f=f-(ia(k[w>>2]|0,m)|0)|0}else f=(ia(k[w>>2]|0,m)|0)+f|0;if((f&d|0)!=(f|0))f=d&~(f>>31);g=f&255;f=(ia(ia(m,n)|0,s)|0)+v|0;if((f|0)>=(c|0)){if((d+h|0)<(f|0))f=f-(ia(k[w>>2]|0,m)|0)|0}else f=(ia(k[w>>2]|0,m)|0)+f|0;if((f&d|0)==(f|0)){w=f;w=w&255;i[a>>0]=e;v=a+1|0;i[v>>0]=g;a=a+2|0;i[a>>0]=w;return}w=d&~(f>>31);w=w&255;i[a>>0]=e;v=a+1|0;i[v>>0]=g;a=a+2|0;i[a>>0]=w;return}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;wf(a,e,d,(k[a+156>>2]|0)+-1-(k[36476+(k[a+4600>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function zf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o;n=a+144|0;a:do if(!(k[n>>2]|0)){c=k[a+136>>2]|0;b=a+152|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+184>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+188>>2]|0):0)?(k[d+12>>2]|0)==(k[a+192>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4612>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4612>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4612>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4612>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+152|0;while(0);m=1<>2];c=a+4616|0;d=m<<1;e=a+4620|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4612|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+192|0;j=a+188|0;g=a+184|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function Af(a){a=a|0;var b=0,c=0;k[a>>2]=35996;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Bf(a){a=a|0;var b=0,c=0;k[a>>2]=35996;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,65535,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+160>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+164>>2]=f;k[a+168>>2]=d;Lf(a);d=0;do{k[a+172+(d*12|0)>>2]=1024;k[a+172+(d*12|0)+4>>2]=0;j[a+172+(d*12|0)+8>>1]=0;j[a+172+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4552>>2]=1024;k[a+4556>>2]=0;i[a+4560>>0]=h;i[a+4561>>0]=1;i[a+4562>>0]=0;k[a+4564>>2]=1024;k[a+4568>>2]=1;i[a+4572>>0]=h;i[a+4573>>0]=1;i[a+4574>>0]=0;k[a+4576>>2]=0;r=e;return}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4600)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35772;e=b+132|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+148>>2]=k[d>>2];k[b+152>>2]=0;k[b+156>>2]=0;k[b+160>>2]=0;e=b+4544|0;d=b+164|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4556|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4568|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];Ff(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;Ff(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Ff(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;u=r;r=r+32|0;w=u+12|0;t=u;p=a+156|0;q=(k[p>>2]|0)+4|0;if((k[a+32>>2]|0)==1)s=k[a+24>>2]|0;else s=1;b=ia(s<<1,q)|0;k[w>>2]=0;y=w+4|0;k[y>>2]=0;k[w+8>>2]=0;do if(b){if(!((b|0)<0?(x=0,qa(178,w|0),v=x,x=0,v&1):0))g=6;if((g|0)==6?(c=b<<1,x=0,d=ta(67,c|0)|0,v=x,x=0,!(v&1)):0){k[w>>2]=d;v=d+(b<<1)|0;k[w+8>>2]=v;sw(d|0,0,c|0)|0;k[y>>2]=v;break}d=Wa()|0;b=k[w>>2]|0;if(!b)fb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}while(0);k[t>>2]=0;v=t+4|0;k[v>>2]=0;k[t+8>>2]=0;do if(!s)g=18;else{if(!(s>>>0>1073741823?(x=0,qa(178,t|0),o=x,x=0,o&1):0))g=16;if((g|0)==16?(e=s<<2,x=0,f=ta(67,e|0)|0,o=x,x=0,!(o&1)):0){k[t>>2]=f;g=f+(s<<2)|0;k[t+8>>2]=g;sw(f|0,0,e|0)|0;k[v>>2]=g;g=18;break}d=Wa()|0;b=k[t>>2]|0;c=b;if(b){e=k[v>>2]|0;if((e|0)!=(b|0))k[v>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==18){f=a+12|0;a:do if((k[f>>2]|0)>0){g=a+4580|0;h=(ia(s,q)|0)+1|0;i=a+4584|0;l=a+92|0;m=(s|0)>0;n=a+4576|0;o=0;b:while(1){c=k[w>>2]|0;b=c+2|0;k[g>>2]=b;c=c+(h<<1)|0;k[i>>2]=c;if(!(o&1))b=c;else{k[g>>2]=c;k[i>>2]=b}e=k[l>>2]|0;x=0;Ja(k[(k[e>>2]|0)+12>>2]|0,e|0,b|0,k[p>>2]|0,q|0);e=x;x=0;if(e&1){g=28;break}if(m){b=k[g>>2]|0;c=k[i>>2]|0;d=k[t>>2]|0;e=0;do{k[n>>2]=k[d+(e<<2)>>2];d=k[p>>2]|0;j[b+(d<<1)>>1]=j[b+(d+-1<<1)>>1]|0;j[c+-2>>1]=j[b>>1]|0;x=0;ra(71,a|0,0);d=x;x=0;if(d&1){g=27;break b}d=k[t>>2]|0;k[d+(e<<2)>>2]=k[n>>2];b=(k[g>>2]|0)+(q<<1)|0;k[g>>2]=b;c=(k[i>>2]|0)+(q<<1)|0;k[i>>2]=c;e=e+1|0}while((e|0)<(s|0))}o=o+1|0;if((o|0)>=(k[f>>2]|0)){g=40;break a}}if((g|0)==27){d=Wa()|0;break}else if((g|0)==28){d=Wa()|0;break}}else g=40;while(0);do if((g|0)==40){x=0;qa(182,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[t>>2]|0;c=b;if(b){d=k[v>>2]|0;if((d|0)!=(b|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[w>>2]|0;if(!b){r=u;return}c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);r=u;return}while(0);b=k[t>>2]|0;c=b;if(b){e=k[v>>2]|0;if((e|0)!=(b|0))k[v>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[w>>2]|0;if(!b)fb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}function Gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+4580|0;b=k[p>>2]|0;s=a+156|0;if((k[s>>2]|0)<=0)return;q=a+4584|0;r=a+4588|0;e=b;f=m[b+-2>>1]|0;b=m[b>>1]|0;o=0;while(1){n=k[q>>2]|0;l=m[n+(o+-1<<1)>>1]|0;d=o+1|0;c=m[e+(d<<1)>>1]|0;h=k[r>>2]|0;g=b-f|0;e=f-l|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(If(a,o,0)|0)+o|0;c=k[p>>2]|0;b=m[c+(d+-1<<1)>>1]|0;c=m[c+(d<<1)>>1]|0}else{f=b-l>>31;if((f^e|0)<0)e=b;else e=l+((f^g|0)<0?0:g)|0;n=Hf(a,h,m[n+(o<<1)>>1]|0,e,0)|0;j[(k[q>>2]|0)+(o<<1)>>1]=n}if((d|0)>=(k[s>>2]|0))break;e=k[p>>2]|0;f=b;b=c;o=d}return}function Hf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;i=(q^b)-q|0;p=a+172+(i*12|0)+10|0;g=j[p>>1]|0;o=a+172+(i*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){f=5;while(1)if((g<>1]^q)-q+d|0;if((e&65535|0)==(e|0))m=e;else m=e>>31&65535^65535;h=(c-m^q)-q<<16;l=h>>16;if(!f)e=(k[a+172+(i*12|0)+4>>2]<<1)+-1+g>>31;else e=0;d=e^l;d=d>>30^d<<1;e=d>>f;if((e|0)<47){if((e|0)>30){g=(e|0)/2|0;ke(a,0,g);e=e-g|0}ke(a,1,e+1|0);ke(a,d&(1<>1]|0;e=g<<16>>16==64;f=e&1;c=(k[d>>2]|0)+l>>f;g=e?32:g<<16>>16;k[o>>2]=(k[o>>2]|0)+((h|0)>-65536?l:0-l|0)>>f;f=g+1|0;j[p>>1]=f;e=f+c|0;if((e|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(e|0)>(~g|0)?e:0-g|0;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&65535;return b|0}if((c|0)<=0){p=c;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&65535;return b|0}p=c-f|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&65535;return b|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=(k[a+156>>2]|0)-b|0;h=k[a+4584>>2]|0;l=k[a+4580>>2]|0;e=j[h+(b+-1<<1)>>1]|0;d=0;while(1){c=h+(d+b<<1)|0;if((j[c>>1]|0)!=e<<16>>16){n=d;break}j[c>>1]=e;d=d+1|0;if((d|0)==(g|0)){n=g;break}}f=e&65535;e=(n|0)==(g|0);i=a+4576|0;d=k[36476+(k[i>>2]<<2)>>2]|0;if((1<(n|0))c=n;else{c=n;do{ke(a,1,1);d=k[i>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[i>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>1]|0;c=m[l+(c<<1)>>1]|0;l=f-c|0;if((((l|0)>-1?l:0-l|0)|0)<1){c=d-f<<16>>16;Jf(a,a+4564|0,c);c=c+f|0}else{l=c-f>>31|1;b=(ia(d-c<<16,l)|0)>>16;Jf(a,a+4552|0,b);c=(ia(b,l)|0)+c|0}j[e>>1]=c;a=k[i>>2]|0;k[i>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;Kf(a,e,d,63-(k[36476+(k[a+4576>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-47|0)}else ke(a,1,f);ke(a,c+65535&65535,16);return}function Lf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,65535,0);j=a+160|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+164>>2]|0):0)?(k[h+12>>2]|0)==(k[a+168>>2]|0):0){j=k[8909]|0;k[a+4588>>2]=j+(((k[8910]|0)-j|0)>>>1);r=l;return}c=a+4592|0;d=a+4596|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=131072){if(f>>>0>131072?(g=b+131072|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,131072-f|0);b=k[c>>2]|0}h=a+4588|0;k[h>>2]=b+65536;g=a+168|0;e=a+164|0;f=-65536;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==65536)break}r=l;return}function Mf(a){a=a|0;var b=0,c=0;k[a>>2]=35968;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Nf(a){a=a|0;var b=0,c=0;k[a>>2]=35968;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,4095,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+160>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+164>>2]=f;k[a+168>>2]=d;Xf(a);d=0;do{k[a+172+(d*12|0)>>2]=64;k[a+172+(d*12|0)+4>>2]=0;j[a+172+(d*12|0)+8>>1]=0;j[a+172+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4552>>2]=64;k[a+4556>>2]=0;i[a+4560>>0]=h;i[a+4561>>0]=1;i[a+4562>>0]=0;k[a+4564>>2]=64;k[a+4568>>2]=1;i[a+4572>>0]=h;i[a+4573>>0]=1;i[a+4574>>0]=0;k[a+4576>>2]=0;r=e;return}function Pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4600)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35744;e=b+132|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+148>>2]=k[d>>2];k[b+152>>2]=0;k[b+156>>2]=0;k[b+160>>2]=0;e=b+4544|0;d=b+164|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4556|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4568|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];Rf(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;Rf(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}function Qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Rf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;u=r;r=r+32|0;w=u+12|0;t=u;p=a+156|0;q=(k[p>>2]|0)+4|0;if((k[a+32>>2]|0)==1)s=k[a+24>>2]|0;else s=1;b=ia(s<<1,q)|0;k[w>>2]=0;y=w+4|0;k[y>>2]=0;k[w+8>>2]=0;do if(b){if(!((b|0)<0?(x=0,qa(178,w|0),v=x,x=0,v&1):0))g=6;if((g|0)==6?(c=b<<1,x=0,d=ta(67,c|0)|0,v=x,x=0,!(v&1)):0){k[w>>2]=d;v=d+(b<<1)|0;k[w+8>>2]=v;sw(d|0,0,c|0)|0;k[y>>2]=v;break}d=Wa()|0;b=k[w>>2]|0;if(!b)fb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}while(0);k[t>>2]=0;v=t+4|0;k[v>>2]=0;k[t+8>>2]=0;do if(!s)g=18;else{if(!(s>>>0>1073741823?(x=0,qa(178,t|0),o=x,x=0,o&1):0))g=16;if((g|0)==16?(e=s<<2,x=0,f=ta(67,e|0)|0,o=x,x=0,!(o&1)):0){k[t>>2]=f;g=f+(s<<2)|0;k[t+8>>2]=g;sw(f|0,0,e|0)|0;k[v>>2]=g;g=18;break}d=Wa()|0;b=k[t>>2]|0;c=b;if(b){e=k[v>>2]|0;if((e|0)!=(b|0))k[v>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==18){f=a+12|0;a:do if((k[f>>2]|0)>0){g=a+4580|0;h=(ia(s,q)|0)+1|0;i=a+4584|0;l=a+92|0;m=(s|0)>0;n=a+4576|0;o=0;b:while(1){c=k[w>>2]|0;b=c+2|0;k[g>>2]=b;c=c+(h<<1)|0;k[i>>2]=c;if(!(o&1))b=c;else{k[g>>2]=c;k[i>>2]=b}e=k[l>>2]|0;x=0;Ja(k[(k[e>>2]|0)+12>>2]|0,e|0,b|0,k[p>>2]|0,q|0);e=x;x=0;if(e&1){g=28;break}if(m){b=k[g>>2]|0;c=k[i>>2]|0;d=k[t>>2]|0;e=0;do{k[n>>2]=k[d+(e<<2)>>2];d=k[p>>2]|0;j[b+(d<<1)>>1]=j[b+(d+-1<<1)>>1]|0;j[c+-2>>1]=j[b>>1]|0;x=0;ra(72,a|0,0);d=x;x=0;if(d&1){g=27;break b}d=k[t>>2]|0;k[d+(e<<2)>>2]=k[n>>2];b=(k[g>>2]|0)+(q<<1)|0;k[g>>2]=b;c=(k[i>>2]|0)+(q<<1)|0;k[i>>2]=c;e=e+1|0}while((e|0)<(s|0))}o=o+1|0;if((o|0)>=(k[f>>2]|0)){g=40;break a}}if((g|0)==27){d=Wa()|0;break}else if((g|0)==28){d=Wa()|0;break}}else g=40;while(0);do if((g|0)==40){x=0;qa(182,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[t>>2]|0;c=b;if(b){d=k[v>>2]|0;if((d|0)!=(b|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[w>>2]|0;if(!b){r=u;return}c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);r=u;return}while(0);b=k[t>>2]|0;c=b;if(b){e=k[v>>2]|0;if((e|0)!=(b|0))k[v>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[w>>2]|0;if(!b)fb(d|0);c=k[y>>2]|0;if((c|0)!=(b|0))k[y>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+4580|0;b=k[p>>2]|0;s=a+156|0;if((k[s>>2]|0)<=0)return;q=a+4584|0;r=a+4588|0;e=b;f=m[b+-2>>1]|0;b=m[b>>1]|0;o=0;while(1){n=k[q>>2]|0;l=m[n+(o+-1<<1)>>1]|0;d=o+1|0;c=m[e+(d<<1)>>1]|0;h=k[r>>2]|0;g=b-f|0;e=f-l|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(Uf(a,o,0)|0)+o|0;c=k[p>>2]|0;b=m[c+(d+-1<<1)>>1]|0;c=m[c+(d<<1)>>1]|0}else{f=b-l>>31;if((f^e|0)<0)e=b;else e=l+((f^g|0)<0?0:g)|0;n=Tf(a,h,m[n+(o<<1)>>1]|0,e,0)|0;j[(k[q>>2]|0)+(o<<1)>>1]=n}if((d|0)>=(k[s>>2]|0))break;e=k[p>>2]|0;f=b;b=c;o=d}return}function Tf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;i=(q^b)-q|0;p=a+172+(i*12|0)+10|0;g=j[p>>1]|0;o=a+172+(i*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){f=5;while(1)if((g<>1]^q)-q+d|0;if((e&4095|0)==(e|0))m=e;else m=e>>31&4095^4095;h=(c-m^q)-q<<20;l=h>>20;if(!f)e=(k[a+172+(i*12|0)+4>>2]<<1)+-1+g>>31;else e=0;d=e^l;d=d>>30^d<<1;e=d>>f;if((e|0)<35){if((e|0)>30){g=(e|0)/2|0;ke(a,0,g);e=e-g|0}ke(a,1,e+1|0);ke(a,d&(1<>1]|0;e=g<<16>>16==64;f=e&1;c=(k[d>>2]|0)+l>>f;g=e?32:g<<16>>16;k[o>>2]=(k[o>>2]|0)+((h|0)>-1048576?l:0-l|0)>>f;f=g+1|0;j[p>>1]=f;e=f+c|0;if((e|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(e|0)>(~g|0)?e:0-g|0;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&4095;b=b&65535;return b|0}if((c|0)<=0){p=c;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&4095;b=b&65535;return b|0}p=c-f|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&4095;b=b&65535;return b|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=(k[a+156>>2]|0)-b|0;h=k[a+4584>>2]|0;l=k[a+4580>>2]|0;e=j[h+(b+-1<<1)>>1]|0;d=0;while(1){c=h+(d+b<<1)|0;if((j[c>>1]|0)!=e<<16>>16){n=d;break}j[c>>1]=e;d=d+1|0;if((d|0)==(g|0)){n=g;break}}f=e&65535;e=(n|0)==(g|0);i=a+4576|0;d=k[36476+(k[i>>2]<<2)>>2]|0;if((1<(n|0))c=n;else{c=n;do{ke(a,1,1);d=k[i>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[i>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>1]|0;c=m[l+(c<<1)>>1]|0;l=f-c|0;if((((l|0)>-1?l:0-l|0)|0)<1){c=d-f<<20>>20;Vf(a,a+4564|0,c);c=c+f|0}else{l=c-f>>31|1;b=(ia(d-c<<20,l)|0)>>20;Vf(a,a+4552|0,b);c=(ia(b,l)|0)+c|0}j[e>>1]=c&4095;a=k[i>>2]|0;k[i>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;Wf(a,e,d,47-(k[36476+(k[a+4576>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function Wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-43|0)}else ke(a,1,f);ke(a,c+4095&4095,12);return}function Xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,4095,0);j=a+160|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+164>>2]|0):0)?(k[h+12>>2]|0)==(k[a+168>>2]|0):0){j=k[8906]|0;k[a+4588>>2]=j+(((k[8907]|0)-j|0)>>>1);r=l;return}c=a+4592|0;d=a+4596|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=8192){if(f>>>0>8192?(g=b+8192|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,8192-f|0);b=k[c>>2]|0}h=a+4588|0;k[h>>2]=b+4096;g=a+168|0;e=a+164|0;f=-4096;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==4096)break}r=l;return}function Yf(a){a=a|0;var b=0,c=0;k[a>>2]=35940;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Zf(a){a=a|0;var b=0,c=0;k[a>>2]=35940;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,255,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+160>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+164>>2]=f;k[a+168>>2]=d;hg(a);d=0;do{k[a+172+(d*12|0)>>2]=4;k[a+172+(d*12|0)+4>>2]=0;j[a+172+(d*12|0)+8>>1]=0;j[a+172+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4552>>2]=4;k[a+4556>>2]=0;i[a+4560>>0]=h;i[a+4561>>0]=1;i[a+4562>>0]=0;k[a+4564>>2]=4;k[a+4568>>2]=1;i[a+4572>>0]=h;i[a+4573>>0]=1;i[a+4574>>0]=0;k[a+4576>>2]=0;r=e;return}function $f(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4600)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35716;e=b+132|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+148>>2]=k[d>>2];k[b+152>>2]=0;k[b+156>>2]=0;k[b+160>>2]=0;e=b+4544|0;d=b+164|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4556|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4568|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];bg(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;bg(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function bg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;t=r;r=r+32|0;v=t+12|0;s=t;o=a+156|0;p=(k[o>>2]|0)+4|0;if((k[a+32>>2]|0)==1)q=k[a+24>>2]|0;else q=1;b=ia(q<<1,p)|0;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;a:do if(b){if(!((b|0)<0?(x=0,qa(178,v|0),u=x,x=0,u&1):0))f=6;if((f|0)==6?(x=0,c=ta(67,b|0)|0,u=x,x=0,!(u&1)):0){k[w>>2]=c;k[v>>2]=c;k[v+8>>2]=c+b;while(1){i[c>>0]=0;c=(k[w>>2]|0)+1|0;k[w>>2]=c;b=b+-1|0;if(!b)break a}}c=Wa()|0;b=k[v>>2]|0;if(!b)fb(c|0);if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);fb(c|0)}while(0);k[s>>2]=0;u=s+4|0;k[u>>2]=0;k[s+8>>2]=0;do if(!q)f=19;else{if(!(q>>>0>1073741823?(x=0,qa(178,s|0),n=x,x=0,n&1):0))f=17;if((f|0)==17?(d=q<<2,x=0,e=ta(67,d|0)|0,n=x,x=0,!(n&1)):0){k[s>>2]=e;f=e+(q<<2)|0;k[s+8>>2]=f;sw(e|0,0,d|0)|0;k[u>>2]=f;f=19;break}c=Wa()|0;b=k[s>>2]|0;d=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}while(0);if((f|0)==19){e=a+12|0;b:do if((k[e>>2]|0)>0){f=a+4580|0;g=(ia(q,p)|0)+1|0;h=a+4584|0;j=a+92|0;l=(q|0)>0;m=a+4576|0;n=0;c:while(1){c=k[v>>2]|0;b=c+1|0;k[f>>2]=b;c=c+g|0;k[h>>2]=c;if(!(n&1))b=c;else{k[f>>2]=c;k[h>>2]=b}d=k[j>>2]|0;x=0;Ja(k[(k[d>>2]|0)+12>>2]|0,d|0,b|0,k[o>>2]|0,p|0);d=x;x=0;if(d&1){f=29;break}if(l){b=k[f>>2]|0;c=k[s>>2]|0;d=0;do{k[m>>2]=k[c+(d<<2)>>2];c=k[o>>2]|0;i[b+c>>0]=i[b+(c+-1)>>0]|0;i[(k[h>>2]|0)+-1>>0]=i[k[f>>2]>>0]|0;x=0;ra(73,a|0,0);c=x;x=0;if(c&1){f=28;break c}c=k[s>>2]|0;k[c+(d<<2)>>2]=k[m>>2];b=(k[f>>2]|0)+p|0;k[f>>2]=b;k[h>>2]=(k[h>>2]|0)+p;d=d+1|0}while((d|0)<(q|0))}n=n+1|0;if((n|0)>=(k[e>>2]|0)){f=41;break b}}if((f|0)==28){c=Wa()|0;break}else if((f|0)==29){c=Wa()|0;break}}else f=41;while(0);do if((f|0)==41){x=0;qa(182,a|0);a=x;x=0;if(a&1){c=Wa()|0;break}b=k[s>>2]|0;c=b;if(b){d=k[u>>2]|0;if((d|0)!=(b|0))k[u>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[v>>2]|0;if(!b){r=t;return}if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);r=t;return}while(0);b=k[s>>2]|0;d=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}b=k[v>>2]|0;if(!b)fb(c|0);if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);fb(c|0)}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+4580|0;b=k[o>>2]|0;r=a+156|0;if((k[r>>2]|0)<=0)return;p=a+4584|0;q=a+4588|0;e=b;f=l[b+-1>>0]|0;b=l[b>>0]|0;n=0;while(1){m=k[p>>2]|0;j=l[m+(n+-1)>>0]|0;d=n+1|0;c=l[e+d>>0]|0;h=k[q>>2]|0;g=b-f|0;e=f-j|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(eg(a,n,0)|0)+n|0;c=k[o>>2]|0;b=l[c+(d+-1)>>0]|0;c=l[c+d>>0]|0}else{f=b-j>>31;if((f^e|0)<0)e=b;else e=j+((f^g|0)<0?0:g)|0;m=dg(a,h,l[m+n>>0]|0,e,0)|0;i[(k[p>>2]|0)+n>>0]=m}if((d|0)>=(k[r>>2]|0))break;e=k[o>>2]|0;f=b;b=c;n=d}return}function dg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;i=(q^b)-q|0;p=a+172+(i*12|0)+10|0;g=j[p>>1]|0;o=a+172+(i*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){f=5;while(1)if((g<>1]^q)-q+d|0;if((e&255|0)==(e|0))m=e;else m=e>>31&255^255;h=(c-m^q)-q<<24;l=h>>24;if(!f)e=(k[a+172+(i*12|0)+4>>2]<<1)+-1+g>>31;else e=0;e=e^l;e=e>>30^e<<1;d=e>>f;if((d|0)<23){ke(a,1,d+1|0);ke(a,e&(1<>1]|0;e=g<<16>>16==64;f=e&1;c=(k[d>>2]|0)+l>>f;g=e?32:g<<16>>16;k[o>>2]=(k[o>>2]|0)+((h|0)>-16777216?l:0-l|0)>>f;f=g+1|0;j[p>>1]=f;e=f+c|0;if((e|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(e|0)>(~g|0)?e:0-g|0;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&255;return b|0}if((c|0)<=0){p=c;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&255;return b|0}p=c-f|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&255;return b|0}function eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;g=(k[a+156>>2]|0)-b|0;h=k[a+4584>>2]|0;m=k[a+4580>>2]|0;e=i[h+(b+-1)>>0]|0;d=0;while(1){c=h+(d+b)|0;if((i[c>>0]|0)!=e<<24>>24){n=d;break}i[c>>0]=e;d=d+1|0;if((d|0)==(g|0)){n=g;break}}f=e&255;e=(n|0)==(g|0);j=a+4576|0;d=k[36476+(k[j>>2]<<2)>>2]|0;if((1<(n|0))c=n;else{c=n;do{ke(a,1,1);d=k[j>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[j>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>0]|0;c=l[m+c>>0]|0;m=f-c|0;if((((m|0)>-1?m:0-m|0)|0)<1){c=d-f<<24>>24;fg(a,a+4564|0,c);c=c+f|0}else{m=c-f>>31|1;b=(ia(d-c<<24,m)|0)>>24;fg(a,a+4552|0,b);c=(ia(b,m)|0)+c|0}i[e>>0]=c;a=k[j>>2]|0;k[j>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;gg(a,e,d,31-(k[36476+(k[a+4576>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-39|0)}else ke(a,1,f);ke(a,c+255&255,8);return}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,255,0);j=a+160|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+164>>2]|0):0)?(k[h+12>>2]|0)==(k[a+168>>2]|0):0){j=k[8900]|0;k[a+4588>>2]=j+(((k[8901]|0)-j|0)>>>1);r=l;return}c=a+4592|0;d=a+4596|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=512){if(f>>>0>512?(g=b+512|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,512-f|0);b=k[c>>2]|0}h=a+4588|0;k[h>>2]=b+256;g=a+168|0;e=a+164|0;f=-256;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==256)break}r=l;return}function ig(a){a=a|0;var b=0,c=0;k[a>>2]=35912;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function jg(a){a=a|0;var b=0,c=0;k[a>>2]=35912;b=k[a+4592>>2]|0;if(b){c=a+4596|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,255,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+160>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+164>>2]=f;k[a+168>>2]=d;tg(a);d=0;do{k[a+172+(d*12|0)>>2]=4;k[a+172+(d*12|0)+4>>2]=0;j[a+172+(d*12|0)+8>>1]=0;j[a+172+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4552>>2]=4;k[a+4556>>2]=0;i[a+4560>>0]=h;i[a+4561>>0]=1;i[a+4562>>0]=0;k[a+4564>>2]=4;k[a+4568>>2]=1;i[a+4572>>0]=h;i[a+4573>>0]=1;i[a+4574>>0]=0;k[a+4576>>2]=0;r=e;return}function lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4600)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35688;e=b+132|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+148>>2]=k[d>>2];k[b+152>>2]=0;k[b+156>>2]=0;k[b+160>>2]=0;e=b+4544|0;d=b+164|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4556|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4568|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];ng(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;ng(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function ng(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;t=r;r=r+32|0;v=t+12|0;s=t;o=a+156|0;p=(k[o>>2]|0)+4|0;if((k[a+32>>2]|0)==1)q=k[a+24>>2]|0;else q=1;b=ia(q<<1,p)|0;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;a:do if(b){if(!(b>>>0>1431655765?(x=0,qa(178,v|0),u=x,x=0,u&1):0))f=6;if((f|0)==6?(x=0,c=ta(67,b*3|0)|0,u=x,x=0,!(u&1)):0){k[w>>2]=c;k[v>>2]=c;k[v+8>>2]=c+(b*3|0);while(1){i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;c=(k[w>>2]|0)+3|0;k[w>>2]=c;b=b+-1|0;if(!b)break a}}d=Wa()|0;b=k[v>>2]|0;if(!b)fb(d|0);c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}while(0);k[s>>2]=0;u=s+4|0;k[u>>2]=0;k[s+8>>2]=0;do if(!q)f=19;else{if(!(q>>>0>1073741823?(x=0,qa(178,s|0),n=x,x=0,n&1):0))f=17;if((f|0)==17?(d=q<<2,x=0,e=ta(67,d|0)|0,n=x,x=0,!(n&1)):0){k[s>>2]=e;f=e+(q<<2)|0;k[s+8>>2]=f;sw(e|0,0,d|0)|0;k[u>>2]=f;f=19;break}d=Wa()|0;b=k[s>>2]|0;c=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((f|0)==19){e=a+12|0;b:do if((k[e>>2]|0)>0){f=a+4580|0;g=(ia(q,p)|0)+1|0;h=a+4584|0;j=a+92|0;l=(q|0)>0;m=a+4576|0;n=0;c:while(1){d=k[v>>2]|0;b=d+3|0;k[f>>2]=b;c=d+(g*3|0)|0;k[h>>2]=c;if(!(n&1))b=g;else{k[f>>2]=c;k[h>>2]=b;b=1}c=k[j>>2]|0;x=0;Ja(k[(k[c>>2]|0)+12>>2]|0,c|0,d+(b*3|0)|0,k[o>>2]|0,p|0);d=x;x=0;if(d&1){f=29;break}if(l){b=k[s>>2]|0;c=k[f>>2]|0;d=0;do{k[m>>2]=k[b+(d<<2)>>2];y=k[o>>2]|0;b=c+(y*3|0)|0;c=c+((y+-1|0)*3|0)|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;b=k[f>>2]|0;c=(k[h>>2]|0)+-3|0;i[c>>0]=i[b>>0]|0;i[c+1>>0]=i[b+1>>0]|0;i[c+2>>0]=i[b+2>>0]|0;x=0;ra(74,a|0,0);c=x;x=0;if(c&1){f=28;break c}b=k[s>>2]|0;k[b+(d<<2)>>2]=k[m>>2];c=(k[f>>2]|0)+(p*3|0)|0;k[f>>2]=c;k[h>>2]=(k[h>>2]|0)+(p*3|0);d=d+1|0}while((d|0)<(q|0))}n=n+1|0;if((n|0)>=(k[e>>2]|0)){f=41;break b}}if((f|0)==28){d=Wa()|0;break}else if((f|0)==29){d=Wa()|0;break}}else f=41;while(0);do if((f|0)==41){x=0;qa(182,a|0);y=x;x=0;if(y&1){d=Wa()|0;break}b=k[s>>2]|0;c=b;if(b){d=k[u>>2]|0;if((d|0)!=(b|0))k[u>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[v>>2]|0;if(!b){r=t;return}c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);r=t;return}while(0);b=k[s>>2]|0;c=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[v>>2]|0;if(!b)fb(d|0);c=k[w>>2]|0;if((c|0)!=(b|0))k[w>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=a+156|0;if((k[A>>2]|0)<=0)return;B=a+4584|0;C=a+4580|0;D=a+4588|0;z=0;while(1){w=z+-1|0;f=k[B>>2]|0;g=k[C>>2]|0;b=z+1|0;e=l[g+(z*3|0)>>0]|0;y=k[D>>2]|0;h=l[g+(w*3|0)>>0]|0;j=e-h|0;m=l[f+(w*3|0)>>0]|0;n=h-m|0;o=((((i[y+((l[g+(b*3|0)>>0]|0)-e)>>0]|0)*9|0)+(i[y+j>>0]|0)|0)*9|0)+(i[y+n>>0]|0)|0;d=l[g+(z*3|0)+1>>0]|0;p=l[g+(w*3|0)+1>>0]|0;q=d-p|0;r=l[f+(w*3|0)+1>>0]|0;s=p-r|0;t=((((i[y+((l[g+(b*3|0)+1>>0]|0)-d)>>0]|0)*9|0)+(i[y+q>>0]|0)|0)*9|0)+(i[y+s>>0]|0)|0;c=l[g+(z*3|0)+2>>0]|0;u=l[g+(w*3|0)+2>>0]|0;v=c-u|0;w=l[f+(w*3|0)+2>>0]|0;x=u-w|0;y=((((i[y+((l[g+(b*3|0)+2>>0]|0)-c)>>0]|0)*9|0)+(i[y+v>>0]|0)|0)*9|0)+(i[y+x>>0]|0)|0;if(!(t|o|y))b=(pg(a,z,0)|0)+z|0;else{g=l[f+(z*3|0)>>0]|0;f=e-m>>31;if((f^n|0)>=0)if((f^j|0)<0)e=m;else e=m-h+e|0;g=qg(a,o,g,e,0)|0;f=l[(k[B>>2]|0)+(z*3|0)+1>>0]|0;e=d-r>>31;if((e^s|0)>=0)if((e^q|0)<0)d=r;else d=r-p+d|0;e=qg(a,t,f,d,0)|0;f=l[(k[B>>2]|0)+(z*3|0)+2>>0]|0;d=c-w>>31;if((d^x|0)>=0)if((d^v|0)<0)c=w;else c=w-u+c|0;y=qg(a,y,f,c,0)|0;z=(k[B>>2]|0)+(z*3|0)|0;i[z>>0]=g;i[z+1>>0]=e;i[z+2>>0]=y}if((b|0)<(k[A>>2]|0))z=b;else break}return}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(k[a+156>>2]|0)-b|0;n=k[a+4584>>2]|0;o=k[a+4580>>2]|0;j=n+((b+-1|0)*3|0)|0;p=i[j>>0]|0;h=i[j+1>>0]|0;j=i[j+2>>0]|0;f=0;while(1){c=n+((f+b|0)*3|0)|0;d=c+1|0;e=c+2|0;if(!(((i[c>>0]|0)==p<<24>>24?(i[d>>0]|0)==h<<24>>24:0)&(i[e>>0]|0)==j<<24>>24))break;i[c>>0]=p;i[d>>0]=h;i[e>>0]=j;f=f+1|0;if((f|0)==(m|0)){f=m;break}}e=(f|0)==(m|0);g=a+4576|0;d=k[36476+(k[g>>2]<<2)>>2]|0;if((1<(f|0))c=f;else{c=f;do{ke(a,1,1);d=k[g>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[g>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>0]|0;b=m+2|0;e=i[b>>0]|0;o=o+(d*3|0)|0;d=i[o+1>>0]|0;t=i[o+2>>0]|0;o=l[o>>0]|0;q=o-(p&255)>>31|1;r=(ia((l[m>>0]|0)-o<<24,q)|0)>>24;s=a+4552|0;rg(a,s,r);p=d&255;d=p-(h&255)>>31|1;c=(ia((c&255)-p<<24,d)|0)>>24;rg(a,s,c);h=t&255;j=h-(j&255)>>31|1;e=(ia((e&255)-h<<24,j)|0)>>24;rg(a,s,e);o=(ia(r,q)|0)+o&255;p=(ia(c,d)|0)+p&255;a=(ia(e,j)|0)+h&255;i[m>>0]=o;i[n>>0]=p;i[b>>0]=a;a=k[g>>2]|0;k[g>>2]=(a|0)<1?0:a+-1|0;a=f+1|0;return a|0}if(!c){t=m;return t|0}ke(a,1,1);t=m;return t|0}function qg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;i=(q^b)-q|0;p=a+172+(i*12|0)+10|0;g=j[p>>1]|0;o=a+172+(i*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){f=5;while(1)if((g<>1]^q)-q+d|0;if((e&255|0)==(e|0))m=e;else m=e>>31&255^255;h=(c-m^q)-q<<24;l=h>>24;if(!f)e=(k[a+172+(i*12|0)+4>>2]<<1)+-1+g>>31;else e=0;e=e^l;e=e>>30^e<<1;d=e>>f;if((d|0)<23){ke(a,1,d+1|0);ke(a,e&(1<>1]|0;e=g<<16>>16==64;f=e&1;c=(k[d>>2]|0)+l>>f;g=e?32:g<<16>>16;k[o>>2]=(k[o>>2]|0)+((h|0)>-16777216?l:0-l|0)>>f;f=g+1|0;j[p>>1]=f;e=f+c|0;if((e|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(e|0)>(~g|0)?e:0-g|0;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&255;return b|0}if((c|0)<=0){p=c;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&255;return b|0}p=c-f|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[d>>2]=p;q=l^q;b=b>>>31;b=m+b|0;b=b+q|0;b=b&255;return b|0}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;sg(a,e,d,31-(k[36476+(k[a+4576>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-39|0)}else ke(a,1,f);ke(a,c+255&255,8);return}function tg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,255,0);j=a+160|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+164>>2]|0):0)?(k[h+12>>2]|0)==(k[a+168>>2]|0):0){j=k[8900]|0;k[a+4588>>2]=j+(((k[8901]|0)-j|0)>>>1);r=l;return}c=a+4592|0;d=a+4596|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=512){if(f>>>0>512?(g=b+512|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,512-f|0);b=k[c>>2]|0}h=a+4588|0;k[h>>2]=b+256;g=a+168|0;e=a+164|0;f=-256;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==256)break}r=l;return}function ug(a){a=a|0;var b=0,c=0;k[a>>2]=35884;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function vg(a){a=a|0;var b=0,c=0;k[a>>2]=35884;b=k[a+4616>>2]|0;if(b){c=a+4620|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36612;b=k[a+120>>2]|0;if(b){c=a+124|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+92|0;b=k[c>>2]|0;k[c>>2]=0;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);c=a+4|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+136>>2]|0,k[a+144>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+184>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+188>>2]=f;k[a+192>>2]=e;Gg(a);e=a+140|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+196+(f*12|0)>>2]=b;k[a+196+(f*12|0)+4>>2]=0;j[a+196+(f*12|0)+8>>1]=0;j[a+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4576>>2]=h;k[a+4580>>2]=0;i[a+4584>>0]=l;i[a+4585>>0]=1;i[a+4586>>0]=0;k[a+4588>>2]=h;k[a+4592>>2]=1;i[a+4596>>0]=l;i[a+4597>>0]=1;i[a+4598>>0]=0;k[a+4600>>2]=0;r=g;return}function xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;l=n;h=a+92|0;g=k[b>>2]|0;k[b>>2]=0;b=k[h>>2]|0;k[h>>2]=g;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);k[l>>2]=0;k[l+4>>2]=d;h=c+8|0;k[l+8>>2]=k[h>>2];if(d){b=lj(4624)|0;d=a+8|0;e=b+4|0;f=d;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+88|0;g=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[b>>2]=35660;k[b+128>>2]=k[a+136>>2];k[b+132>>2]=k[a+140>>2];k[b+136>>2]=k[a+144>>2];k[b+140>>2]=k[a+148>>2];k[b+144>>2]=k[a+152>>2];k[b+148>>2]=k[a+156>>2];k[b+152>>2]=k[a+160>>2];e=b+156|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[b+172>>2]=k[d>>2];k[b+176>>2]=0;k[b+180>>2]=0;k[b+184>>2]=0;e=b+4568|0;d=b+188|0;do{k[d>>2]=0;k[d+4>>2]=0;j[d+8>>1]=0;j[d+10>>1]=1;d=d+12|0}while((d|0)!=(e|0));f=a+4|0;k[e>>2]=0;k[e+4>>2]=0;j[e+8>>1]=0;i[e+10>>0]=0;g=b+4580|0;k[g>>2]=0;k[g+4>>2]=0;j[g+8>>1]=0;i[g+10>>0]=0;g=b+4592|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;k[g+24>>2]=0;i[g+28>>0]=0;if(!(k[b+28>>2]|0))k[b+20>>2]=1;d=k[f>>2]|0;k[f>>2]=b;if(d){Lb[k[(k[d>>2]|0)+4>>2]&255](d);b=k[f>>2]|0}ee(b,l)}l=a+100|0;k[l>>2]=32;k[a+96>>2]=0;b=k[c>>2]|0;if(!b){k[a+108>>2]=k[c+4>>2];k[a+104>>2]=k[h>>2];zg(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}k[a+132>>2]=b;e=a+120|0;h=a+124|0;d=k[h>>2]|0;b=k[e>>2]|0;f=b;g=d-f|0;if(g>>>0>=4e3){if(g>>>0>4e3?(m=b+4e3|0,(d|0)!=(m|0)):0){k[h>>2]=m;d=m}}else{fe(e,4e3-g|0);b=k[e>>2]|0;f=b;d=k[h>>2]|0}k[a+108>>2]=f;k[a+104>>2]=d-b;zg(a);m=a+116|0;m=k[m>>2]|0;a=k[l>>2]|0;a=a+-32|0;a=(a|0)/8|0;a=m-a|0;r=n;return a|0}\nfunction yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+32>>2]|0)!=0?(k[a+24>>2]|0)!=1:0){p=a+8|0;s=a+36|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+16>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+20>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;t=r;r=r+32|0;v=t+12|0;s=t;p=a+180|0;q=(k[p>>2]|0)+4|0;if((k[a+32>>2]|0)==1)n=k[a+24>>2]|0;else n=1;b=ia(n<<1,q)|0;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;a:do if(b){if(!((b|0)<0?(x=0,qa(178,v|0),u=x,x=0,u&1):0))o=6;if((o|0)==6?(x=0,c=ta(67,b|0)|0,u=x,x=0,!(u&1)):0){k[w>>2]=c;k[v>>2]=c;k[v+8>>2]=c+b;while(1){i[c>>0]=0;c=(k[w>>2]|0)+1|0;k[w>>2]=c;b=b+-1|0;if(!b)break a}}c=Wa()|0;b=k[v>>2]|0;if(!b)fb(c|0);if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);fb(c|0)}while(0);k[s>>2]=0;u=s+4|0;k[u>>2]=0;k[s+8>>2]=0;do if(!n)o=19;else{if(!(n>>>0>1073741823?(x=0,qa(178,s|0),m=x,x=0,m&1):0))o=17;if((o|0)==17?(d=n<<2,x=0,e=ta(67,d|0)|0,m=x,x=0,!(m&1)):0){k[s>>2]=e;o=e+(n<<2)|0;k[s+8>>2]=o;sw(e|0,0,d|0)|0;k[u>>2]=o;o=19;break}c=Wa()|0;b=k[s>>2]|0;d=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}while(0);if((o|0)==19){g=a+12|0;b:do if((k[g>>2]|0)>0){h=a+4604|0;j=(ia(n,q)|0)+1|0;l=a+4608|0;m=a+92|0;f=a+4600|0;if((n|0)>0)e=0;else{d=0;while(1){c=k[v>>2]|0;b=c+1|0;k[h>>2]=b;c=c+j|0;k[l>>2]=c;if(!(d&1))b=c;else{k[h>>2]=c;k[l>>2]=b}n=k[m>>2]|0;x=0;Ja(k[(k[n>>2]|0)+12>>2]|0,n|0,b|0,k[p>>2]|0,q|0);n=x;x=0;if(n&1)break;d=d+1|0;if((d|0)>=(k[g>>2]|0)){o=45;break b}}c=Wa()|0;break}c:while(1){c=k[v>>2]|0;b=c+1|0;k[h>>2]=b;c=c+j|0;k[l>>2]=c;if(!(e&1))b=c;else{k[h>>2]=c;k[l>>2]=b}o=k[m>>2]|0;x=0;Ja(k[(k[o>>2]|0)+12>>2]|0,o|0,b|0,k[p>>2]|0,q|0);o=x;x=0;if(o&1){o=28;break}b=k[s>>2]|0;c=k[h>>2]|0;d=0;do{k[f>>2]=k[b+(d<<2)>>2];o=k[p>>2]|0;i[c+o>>0]=i[c+(o+-1)>>0]|0;i[(k[l>>2]|0)+-1>>0]=i[k[h>>2]>>0]|0;x=0;ra(75,a|0,0);o=x;x=0;if(o&1){o=36;break c}b=k[s>>2]|0;k[b+(d<<2)>>2]=k[f>>2];c=(k[h>>2]|0)+q|0;k[h>>2]=c;k[l>>2]=(k[l>>2]|0)+q;d=d+1|0}while((d|0)<(n|0));e=e+1|0;if((e|0)>=(k[g>>2]|0)){o=45;break b}}if((o|0)==28){c=Wa()|0;break}else if((o|0)==36){c=Wa()|0;break}}else o=45;while(0);do if((o|0)==45){x=0;qa(182,a|0);a=x;x=0;if(a&1){c=Wa()|0;break}b=k[s>>2]|0;c=b;if(b){d=k[u>>2]|0;if((d|0)!=(b|0))k[u>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[v>>2]|0;if(!b){r=t;return}if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);r=t;return}while(0);b=k[s>>2]|0;d=b;if(b){e=k[u>>2]|0;if((e|0)!=(b|0))k[u>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}b=k[v>>2]|0;if(!b)fb(c|0);if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);fb(c|0)}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+4604|0;b=k[o>>2]|0;r=a+180|0;if((k[r>>2]|0)<=0)return;p=a+4608|0;q=a+4612|0;e=b;f=l[b+-1>>0]|0;b=l[b>>0]|0;n=0;while(1){m=k[p>>2]|0;j=l[m+(n+-1)>>0]|0;d=n+1|0;c=l[e+d>>0]|0;h=k[q>>2]|0;g=b-f|0;e=f-j|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(Cg(a,n,0)|0)+n|0;c=k[o>>2]|0;b=l[c+(d+-1)>>0]|0;c=l[c+d>>0]|0}else{f=b-j>>31;if((f^e|0)<0)e=b;else e=j+((f^g|0)<0?0:g)|0;m=Bg(a,h,l[m+n>>0]|0,e,0)|0;i[(k[p>>2]|0)+n>>0]=m}if((d|0)>=(k[r>>2]|0))break;e=k[o>>2]|0;f=b;b=c;n=d}return}function Bg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b>>31;f=(r^b)-r|0;p=a+196+(f*12|0)+10|0;g=j[p>>1]|0;o=a+196+(f*12|0)|0;e=k[o>>2]|0;if((g|0)<(e|0))if((g<<1|0)<(e|0))if((g<<2|0)<(e|0))if((g<<3|0)<(e|0))if((g<<4|0)<(e|0)){b=5;while(1)if((g<>1]^r)-r+d|0;q=a+136|0;d=k[q>>2]|0;if((e&d|0)==(e|0))l=e;else l=d&~(e>>31);e=(c-l^r)-r|0;i=a+144|0;d=k[i>>2]|0;if((e|0)>0)e=(e+d|0)/(d<<1|1|0)|0;else e=(e-d|0)/(d<<1|1|0)|0;n=a+140|0;h=k[n>>2]|0;c=((e|0)<0?h:0)+e|0;h=c-((c|0)<((h+1|0)/2|0|0)?0:h)|0;f=a+196+(f*12|0)+4|0;if(!(d|b))e=(k[f>>2]<<1)+-1+g>>31;else e=0;d=e^h;Fg(a,b,d>>30^d<<1,k[a+156>>2]|0);d=k[a+160>>2]|0;b=(k[o>>2]|0)+((h|0)>-1?h:0-h|0)|0;e=(k[f>>2]|0)+(ia(k[i>>2]<<1|1,h)|0)|0;c=j[p>>1]|0;if((c|0)==(d|0)){b=b>>1;e=e>>1;c=d>>1}k[o>>2]=b;d=c+1|0;j[p>>1]=d;b=d+e|0;if((b|0)>=1){if((e|0)>0){e=e-d|0;p=j[m>>1]|0;j[m>>1]=(p<<16>>16<127&1)+(p&65535);e=(e|0)>0?0:e}}else{e=j[m>>1]|0;j[m>>1]=(e&65535)-(e<<16>>16>-128&1);e=(b|0)>(~c|0)?b:0-c|0}k[f>>2]=e;d=k[i>>2]|0;c=d<<1|1;b=(ia(c,(h^r)-r|0)|0)+l|0;if((b|0)>=(0-d|0)){e=k[q>>2]|0;if((e+d|0)<(b|0))b=b-(ia(k[n>>2]|0,c)|0)|0}else{b=(ia(k[n>>2]|0,c)|0)+b|0;e=k[q>>2]|0}if((b&e|0)==(b|0)){r=b;r=r&255;return r|0}r=e&~(b>>31);r=r&255;return r|0}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;j=(k[a+180>>2]|0)-b|0;m=k[a+4608>>2]|0;n=k[a+4604>>2]|0;e=i[m+(b+-1)>>0]|0;h=e&255;c=a+144|0;f=0;while(1){d=m+(f+b)|0;g=(l[d>>0]|0)-h|0;if((((g|0)>-1?g:0-g|0)|0)>(k[c>>2]|0))break;i[d>>0]=e;f=f+1|0;if((f|0)==(j|0)){f=j;break}}e=(f|0)==(j|0);g=a+4600|0;d=k[36476+(k[g>>2]<<2)>>2]|0;if((1<(f|0))c=f;else{c=f;do{ke(a,1,1);d=k[g>>2]|0;c=c-(1<>2])|0;d=(d|0)>30?31:d+1|0;k[g>>2]=d;d=k[36476+(d<<2)>>2]|0}while((c|0)>=(1<>0]|0,h,l[n+j>>0]|0)|0;i[b>>0]=a;a=k[g>>2]|0;k[g>>2]=(a|0)<1?0:a+-1|0;a=f+1|0;return a|0}if(!c){a=j;return a|0}ke(a,1,1);a=j;return a|0}function Dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c-d|0;i=a+136|0;g=a+144|0;e=k[g>>2]|0;if((((h|0)>-1?h:0-h|0)|0)>(e|0)){f=d-c>>31|1;b=ia(f,b-d|0)|0;if((b|0)>0)b=(e+b|0)/(e<<1|1|0)|0;else b=(b-e|0)/(e<<1|1|0)|0;h=a+140|0;e=k[h>>2]|0;c=((b|0)<0?e:0)+b|0;e=c-((c|0)<((e+1|0)/2|0|0)?0:e)|0;Eg(a,a+4576|0,e);e=ia(e,f)|0;f=k[g>>2]|0;g=f<<1|1;e=(ia(e,g)|0)+d|0;if((e|0)>=(0-f|0)){b=k[i>>2]|0;if((b+f|0)<(e|0))e=e-(ia(k[h>>2]|0,g)|0)|0}else{e=(ia(k[h>>2]|0,g)|0)+e|0;b=k[i>>2]|0}if((e&b|0)==(e|0)){i=e;i=i&255;return i|0}i=b&~(e>>31);i=i&255;return i|0}else{b=b-c|0;if((b|0)>0)b=(e+b|0)/(e<<1|1|0)|0;else b=(b-e|0)/(e<<1|1|0)|0;h=a+140|0;e=k[h>>2]|0;f=((b|0)<0?e:0)+b|0;e=f-((f|0)<((e+1|0)/2|0|0)?0:e)|0;Eg(a,a+4588|0,e);f=k[g>>2]|0;g=f<<1|1;e=(ia(g,e)|0)+c|0;if((e|0)>=(0-f|0)){b=k[i>>2]|0;if((b+f|0)<(e|0))e=e-(ia(k[h>>2]|0,g)|0)|0}else{e=(ia(k[h>>2]|0,g)|0)+e|0;b=k[i>>2]|0}if((e&b|0)==(e|0)){i=e;i=i&255;return i|0}i=b&~(e>>31);i=i&255;return i|0}return 0}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=b+9|0;g=l[n>>0]|0;m=b+4|0;j=k[m>>2]|0;e=(ia(g>>>1,j)|0)+(k[b>>2]|0)|0;if((g|0)<(e|0)){f=g;d=0;do{f=f<<1;d=d+1|0}while((f|0)<(e|0));e=d}else e=0;if((c|0)>0&(e|0)==0?l[b+10>>0]<<1>>>0>>0:0)d=1;else h=5;do if((h|0)==5){d=(c|0)<0;if(d?l[b+10>>0]<<1>>>0>=g>>>0:0){d=1;break}d=d&(e|0)!=0}while(0);d=(((c|0)>-1?c:0-c|0)<<1)-j+(d<<31>>31)|0;Fg(a,e,d,(k[a+156>>2]|0)+-1-(k[36476+(k[a+4600>>2]<<2)>>2]|0)|0);if((c|0)<0){a=b+10|0;i[a>>0]=(l[a>>0]|0)+1}d=(d+1-(k[m>>2]|0)>>1)+(k[b>>2]|0)|0;k[b>>2]=d;e=i[n>>0]|0;if(e<<24>>24!=(i[b+8>>0]|0)){b=e;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}k[b>>2]=d>>1;a=(e&255)>>>1;i[n>>0]=a;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=a;b=b&255;b=b+1|0;b=b&255;i[n>>0]=b;return}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c>>b;f=a+148|0;g=d-(k[f>>2]|0)|0;if((e|0)<(g+-1|0)){if((e|0)>30){d=(e|0)/2|0;ke(a,0,d);e=e-d|0}ke(a,1,e+1|0);ke(a,(1<31){ke(a,0,31);ke(a,1,d+-31-(k[f>>2]|0)|0)}else ke(a,1,g);b=k[f>>2]|0;ke(a,(1<>2]|0)){c=k[a+136>>2]|0;b=a+152|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+184>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+188>>2]|0):0)?(k[d+12>>2]|0)==(k[a+192>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4612>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4612>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4612>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4612>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+152|0;while(0);m=1<>2];c=a+4616|0;d=m<<1;e=a+4620|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4612|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+192|0;j=a+188|0;g=a+184|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function Hg(a){a=a|0;var b=0,c=0;k[a>>2]=35856;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Ig(a){a=a|0;var b=0,c=0;k[a>>2]=35856;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+128>>2]|0,k[a+136>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+176>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+180>>2]=f;k[a+184>>2]=e;Vg(a);e=a+132|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+188+(f*12|0)>>2]=b;k[a+188+(f*12|0)+4>>2]=0;j[a+188+(f*12|0)+8>>1]=0;j[a+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4568>>2]=h;k[a+4572>>2]=0;i[a+4576>>0]=l;i[a+4577>>0]=1;i[a+4578>>0]=0;k[a+4580>>2]=h;k[a+4584>>2]=1;i[a+4588>>0]=l;i[a+4589>>0]=1;i[a+4590>>0]=0;k[a+4592>>2]=0;r=g;return}function Lg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4620>>0]=e&1;b=a+156|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);Mg(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function Mg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;v=a+172|0;w=(k[v>>2]|0)+4|0;if((k[a+28>>2]|0)==1)y=k[a+20>>2]|0;else y=1;b=ia(y<<1,w)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;do if(b){if(!((b|0)<0?(x=0,qa(178,C|0),B=x,x=0,B&1):0))g=6;if((g|0)==6?(c=b<<1,x=0,d=ta(67,c|0)|0,B=x,x=0,!(B&1)):0){k[C>>2]=d;B=d+(b<<1)|0;k[C+8>>2]=B;sw(d|0,0,c|0)|0;k[D>>2]=B;break}d=Wa()|0;b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!y)g=18;else{if(!(y>>>0>1073741823?(x=0,qa(178,z|0),u=x,x=0,u&1):0))g=16;if((g|0)==16?(e=y<<2,x=0,f=ta(67,e|0)|0,u=x,x=0,!(u&1)):0){k[z>>2]=f;g=f+(y<<2)|0;k[z+8>>2]=g;sw(f|0,0,e|0)|0;k[B>>2]=g;g=18;break}d=Wa()|0;b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==18){f=a+8|0;a:do if((k[f>>2]|0)>0){g=a+4596|0;h=ia(y,w)|0;i=h+1|0;l=a+4600|0;m=(y|0)>0;n=a+160|0;o=a+168|0;p=a+164|0;q=a+156|0;s=a+88|0;t=a+4592|0;u=0;b:while(1){d=k[C>>2]|0;c=d+2|0;k[g>>2]=c;d=d+(i<<1)|0;k[l>>2]=d;if(!(u&1))b=d;else{k[g>>2]=d;k[l>>2]=c;b=c;c=d}if(m){e=k[z>>2]|0;d=0;do{k[t>>2]=k[e+(d<<2)>>2];e=k[v>>2]|0;j[c+(e<<1)>>1]=j[c+(e+-1<<1)>>1]|0;j[b+-2>>1]=j[c>>1]|0;x=0;ra(76,a|0,0);e=x;x=0;if(e&1){g=29;break b}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[t>>2];c=(k[g>>2]|0)+(w<<1)|0;k[g>>2]=c;b=(k[l>>2]|0)+(w<<1)|0;k[l>>2]=b;d=d+1|0}while((d|0)<(y|0))}e=k[n>>2]|0;if(((e|0)<=(u|0)?(u|0)<((k[o>>2]|0)+e|0):0)?(e=k[s>>2]|0,x=0,Ja(k[(k[e>>2]|0)+8>>2]|0,e|0,b+((k[q>>2]|0)-h<<1)|0,k[p>>2]|0,w|0),e=x,x=0,e&1):0){g=30;break}u=u+1|0;if((u|0)>=(k[f>>2]|0)){g=42;break a}}if((g|0)==29){d=Wa()|0;break}else if((g|0)==30){d=Wa()|0;break}}else g=42;while(0);do if((g|0)==42){x=0;qa(183,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);r=A;return}while(0);b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=a+4596|0;c=k[q>>2]|0;u=a+172|0;b=k[u>>2]|0;if((b|0)<=0)return;r=a+4600|0;s=a+4604|0;t=a+4592|0;h=c;f=m[c+-2>>1]|0;c=m[c>>1]|0;p=0;while(1){n=k[r>>2]|0;g=j[n+(p+-1<<1)>>1]|0;o=g&65535;e=p+1|0;d=m[h+(e<<1)>>1]|0;l=k[s>>2]|0;h=c-f|0;f=f-o|0;l=((((i[l+(d-c)>>0]|0)*9|0)+(i[l+h>>0]|0)|0)*9|0)+(i[l+f>>0]|0)|0;n=n+(p<<1)|0;if(!l){b=Qg(a,g,n,b-p|0)|0;c=b+p|0;if((c|0)!=(k[u>>2]|0)){o=Rg(a,o,m[(k[q>>2]|0)+(c<<1)>>1]|0)|0;j[(k[r>>2]|0)+(c<<1)>>1]=o;o=k[t>>2]|0;k[t>>2]=(o|0)<1?0:o+-1|0;b=b+1|0}e=b+p|0;d=k[q>>2]|0;c=m[d+(e+-1<<1)>>1]|0;d=m[d+(e<<1)>>1]|0}else{b=c-o>>31;if((b^f|0)<0)b=c;else b=o+((b^h|0)<0?0:h)|0;o=Pg(a,l,m[n>>1]|0,b,0)|0;j[(k[r>>2]|0)+(p<<1)>>1]=o}b=k[u>>2]|0;if((b|0)<=(e|0))break;h=k[q>>2]|0;f=c;c=d;p=e}return}function Og(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+116|0;c=k[d>>2]|0;if((i[c>>0]|0)!=-1){e=a+112|0;b=k[e>>2]|0;if((b|0)<1){qe(a);b=k[e>>2]|0;c=k[d>>2]|0}a=a+108|0;d=k[a>>2]|0;k[e>>2]=b+-1;b=d<<1;k[a>>2]=b;if((i[c>>0]|0)!=-1){b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,6,35648);a=x;x=0;if(!(a&1))ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}}else b=k[a+108>>2]|0;if(!b)return;b=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,b|0,6,35648);a=x;x=0;if(!(a&1))ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}function Pg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b>>31;l=(r^b)-r|0;p=a+188+(l*12|0)+10|0;c=j[p>>1]|0;o=a+188+(l*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){b=5;while(1)if((c<>1]^r)-r+d|0;q=a+128|0;e=k[q>>2]|0;if((c&e|0)==(c|0))m=c;else m=e&~(c>>31);c=a+112|0;if((k[c>>2]|0)<8)qe(a);e=a+108|0;d=k[e>>2]|0;f=d>>>24;g=k[2832+(b<<11)+(f<<3)+4>>2]|0;if(!g){h=k[a+148>>2]|0;e=k[a+140>>2]|0;c=Tg(a)|0;if((c|0)<(h+-1-e|0)){if(b)c=(Ug(a,b)|0)+(c<>31^c>>1;if((((c|0)>-1?c:0-c|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);a=x;x=0;if(a&1){a=Wa()|0;Ua(c|0);fb(a|0)}else ub(c|0,824,96)}}else{k[c>>2]=(k[c>>2]|0)-g;k[e>>2]=d<>2]|0}h=a+136|0;d=k[h>>2]|0;if(!b){if(!d)e=(k[a+188+(l*12|0)+4>>2]<<1)+-1+(j[p>>1]|0)>>31;else e=0;g=e^c}else g=c;b=k[a+152>>2]|0;e=(k[o>>2]|0)+((g|0)>-1?g:0-g|0)|0;f=a+188+(l*12|0)+4|0;c=(k[f>>2]|0)+(ia(d<<1|1,g)|0)|0;d=j[p>>1]|0;if((d|0)==(b|0)){e=e>>1;c=c>>1;d=b>>1}k[o>>2]=e;b=d+1|0;j[p>>1]=b;e=b+c|0;if((e|0)>=1){if((c|0)>0){c=c-b|0;p=j[n>>1]|0;j[n>>1]=(p<<16>>16<127&1)+(p&65535);c=(c|0)>0?0:c}}else{c=j[n>>1]|0;j[n>>1]=(c&65535)-(c<<16>>16>-128&1);c=(e|0)>(~d|0)?e:0-d|0}k[f>>2]=c;b=k[h>>2]|0;d=b<<1|1;e=(ia(d,(g^r)-r|0)|0)+m|0;if((e|0)>=(0-b|0)){c=k[q>>2]|0;if((c+b|0)<(e|0))e=e-(ia(k[a+132>>2]|0,d)|0)|0}else{e=(ia(k[a+132>>2]|0,d)|0)+e|0;c=k[q>>2]|0}if((e&c|0)==(e|0)){a=e;a=a&65535;return a|0}a=c&~(e>>31);a=a&65535;return a|0}function Qg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;h=a+112|0;l=a+108|0;m=a+4592|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[l>>2]|0;e=e+-1|0;k[h>>2]=e;k[l>>2]=g<<1;if((g|0)>=0){n=8;break}g=k[m>>2]|0;o=1<>2];p=d-f|0;p=(o|0)<(p|0)?o:p;f=p+f|0;if((p|0)==(o|0))k[m>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((n|0)==8)if((f|0)!=(d|0)){e=k[m>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);p=x;x=0;if(p&1){p=Wa()|0;Ua(e|0);fb(p|0)}else ub(e|0,824,96)}}else e=d;if((e|0)>0)f=0;else return e|0;do{j[c+(f<<1)>>1]=b;f=f+1|0}while((f|0)!=(e|0));return e|0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b-c|0;g=a+128|0;d=a+136|0;if((((f|0)>-1?f:0-f|0)|0)>(k[d>>2]|0)){b=ia(Sg(a,a+4568|0)|0,c-b>>31|1)|0;e=k[d>>2]|0;f=e<<1|1;b=(ia(b,f)|0)+c|0;if((b|0)>=(0-e|0)){d=k[g>>2]|0;if((d+e|0)<(b|0))b=b-(ia(k[a+132>>2]|0,f)|0)|0}else{b=(ia(k[a+132>>2]|0,f)|0)+b|0;d=k[g>>2]|0}if((b&d|0)==(b|0)){a=b;a=a&65535;return a|0}a=d&~(b>>31);a=a&65535;return a|0}else{c=Sg(a,a+4580|0)|0;f=k[d>>2]|0;e=f<<1|1;b=(ia(e,c)|0)+b|0;if((b|0)>=(0-f|0)){d=k[g>>2]|0;if((d+f|0)<(b|0))b=b-(ia(k[a+132>>2]|0,e)|0)|0}else{b=(ia(k[a+132>>2]|0,e)|0)+b|0;d=k[g>>2]|0}if((b&d|0)==(b|0)){a=b;a=a&65535;return a|0}a=d&~(b>>31);a=a&65535;return a|0}return 0}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=b+9|0;c=l[m>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;g=k[a+148>>2]|0;h=k[36476+(k[a+4592>>2]<<2)>>2]|0;c=k[a+140>>2]|0;e=Tg(a)|0;do if((e|0)<(g+-2-h-c|0))if(!d){d=k[f>>2]|0;a=d+e|0;c=a&1;a=(c+a|0)/2|0;j=8;break}else{h=(Ug(a,d)|0)+(e<>2]|0;e=h+d|0;g=e&1;c=g;f=1;e=(g+e|0)/2|0;break}else{e=(Ug(a,c)|0)+1|0;g=k[f>>2]|0;a=e+g|0;c=a&1;a=(c+a|0)/2|0;if(!d){d=g;j=8}else{h=e;f=1;e=a;d=g}}while(0);if((j|0)==8){h=e;f=l[b+10>>0]<<1>>>0>=(l[m>>0]|0)>>>0;e=a}e=(c|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(h+1-d>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[m>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){b=d;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[m>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=j;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}function Tg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+112|0;if((k[f>>2]|0)<16)qe(a);g=a+108|0;c=k[g>>2]|0;if((c|0)>=0)if(!(c&1073741824))if(!(c&536870912))if(!(c&268435456))if(!(c&134217728))if(!(c&67108864))if(!(c&33554432))if(!(c&16777216))if(!(c&8388608))if(!(c&4194304))if(!(c&2097152))if(!(c&1048576))if(!(c&524288))if(!(c&262144))if(!(c&131072)){e=c>>>12&16;b=e+-1|0;if(!e){b=(k[f>>2]|0)+-15|0;k[f>>2]=b;d=c<<15;k[g>>2]=d;c=b;b=15;while(1){if((c|0)<1){qe(a);e=k[g>>2]|0;c=k[f>>2]|0}else e=d;c=c+-1|0;k[f>>2]=c;d=e<<1;k[g>>2]=d;if((e|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;k[f>>2]=(k[f>>2]|0)-a;k[g>>2]=c<>2]|0;if((c|0)<(b|0)){qe(a);c=k[d>>2]|0;if((c|0)<(b|0)){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);a=x;x=0;if(a&1){a=Wa()|0;Ua(c|0);fb(a|0)}else ub(c|0,824,96)}}e=a+108|0;a=k[e>>2]|0;k[d>>2]=c-b;k[e>>2]=a<>>(32-b|0)|0}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o;n=a+136|0;a:do if(!(k[n>>2]|0)){c=k[a+128>>2]|0;b=a+144|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+176>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+180>>2]|0):0)?(k[d+12>>2]|0)==(k[a+184>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4604>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4604>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4604>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4604>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+144|0;while(0);m=1<>2];c=a+4608|0;d=m<<1;e=a+4612|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4604|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+184|0;j=a+180|0;g=a+176|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function Wg(a){a=a|0;var b=0,c=0;k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Xg(a){a=a|0;var b=0,c=0;k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Yg(a){a=a|0;var b=0,c=0;k[a>>2]=35828;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Zg(a){a=a|0;var b=0,c=0;k[a>>2]=35828;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=6;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=6;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+128>>2]|0,k[a+136>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+176>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+180>>2]=f;k[a+184>>2]=e;hh(a);e=a+132|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+188+(f*12|0)>>2]=b;k[a+188+(f*12|0)+4>>2]=0;j[a+188+(f*12|0)+8>>1]=0;j[a+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4568>>2]=h;k[a+4572>>2]=0;i[a+4576>>0]=l;i[a+4577>>0]=1;i[a+4578>>0]=0;k[a+4580>>2]=h;k[a+4584>>2]=1;i[a+4588>>0]=l;i[a+4589>>0]=1;i[a+4590>>0]=0;k[a+4592>>2]=0;r=g;return}function ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4620>>0]=e&1;b=a+156|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);bh(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;v=a+172|0;w=(k[v>>2]|0)+4|0;if((k[a+28>>2]|0)==1)y=k[a+20>>2]|0;else y=1;b=ia(y<<1,w)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;do if(b){if(!(b>>>0>715827882?(x=0,qa(178,C|0),B=x,x=0,B&1):0))g=6;if((g|0)==6?(x=0,c=ta(67,b*6|0)|0,B=x,x=0,!(B&1)):0){k[D>>2]=c;k[C>>2]=c;d=c+(b*6|0)|0;k[C+8>>2]=d;while(1){j[c>>1]=0;j[c+2>>1]=0;j[c+4>>1]=0;b=b+-1|0;if(!b)break;else c=c+6|0}k[D>>2]=d;break}d=Wa()|0;b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-6-b|0)>>>0)/6|0)*6|0);mj(b);fb(d|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!y)g=20;else{if(!(y>>>0>1073741823?(x=0,qa(178,z|0),u=x,x=0,u&1):0))g=18;if((g|0)==18?(e=y<<2,x=0,f=ta(67,e|0)|0,u=x,x=0,!(u&1)):0){k[z>>2]=f;g=f+(y<<2)|0;k[z+8>>2]=g;sw(f|0,0,e|0)|0;k[B>>2]=g;g=20;break}d=Wa()|0;b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==20){f=a+8|0;a:do if((k[f>>2]|0)>0){g=a+4596|0;h=ia(y,w)|0;i=h+1|0;l=a+4600|0;m=(y|0)>0;n=a+160|0;o=a+168|0;p=a+164|0;q=a+156|0;s=a+88|0;t=a+4592|0;u=0;b:while(1){d=k[C>>2]|0;c=d+6|0;k[g>>2]=c;d=d+(i*6|0)|0;k[l>>2]=d;if(!(u&1))b=d;else{k[g>>2]=d;k[l>>2]=c;b=c;c=d}if(m){e=k[z>>2]|0;d=0;do{k[t>>2]=k[e+(d<<2)>>2];b=k[v>>2]|0;e=c+(b*6|0)|0;c=c+((b+-1|0)*6|0)|0;j[e>>1]=j[c>>1]|0;j[e+2>>1]=j[c+2>>1]|0;j[e+4>>1]=j[c+4>>1]|0;e=(k[l>>2]|0)+-6|0;c=k[g>>2]|0;j[e>>1]=j[c>>1]|0;j[e+2>>1]=j[c+2>>1]|0;j[e+4>>1]=j[c+4>>1]|0;x=0;ra(77,a|0,0);e=x;x=0;if(e&1){g=31;break b}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[t>>2];c=(k[g>>2]|0)+(w*6|0)|0;k[g>>2]=c;b=(k[l>>2]|0)+(w*6|0)|0;k[l>>2]=b;d=d+1|0}while((d|0)<(y|0))}e=k[n>>2]|0;if(((e|0)<=(u|0)?(u|0)<((k[o>>2]|0)+e|0):0)?(e=k[s>>2]|0,x=0,Ja(k[(k[e>>2]|0)+8>>2]|0,e|0,b+(((k[q>>2]|0)-h|0)*6|0)|0,k[p>>2]|0,w|0),e=x,x=0,e&1):0){g=32;break}u=u+1|0;if((u|0)>=(k[f>>2]|0)){g=44;break a}}if((g|0)==31){d=Wa()|0;break}else if((g|0)==32){d=Wa()|0;break}}else g=44;while(0);do if((g|0)==44){x=0;qa(183,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-6-b|0)>>>0)/6|0)*6|0);mj(b);r=A;return}while(0);b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-6-b|0)>>>0)/6|0)*6|0);mj(b);fb(d|0)}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=r;r=r+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=a+172|0;b=k[G>>2]|0;if((b|0)<=0){r=N;return}H=a+4600|0;I=a+4596|0;J=a+4604|0;K=a+4592|0;C=0;while(1){d=C+-1|0;e=k[H>>2]|0;O=k[I>>2]|0;c=C+1|0;f=m[O+(C*6|0)>>1]|0;B=k[J>>2]|0;g=m[O+(d*6|0)>>1]|0;h=f-g|0;l=m[e+(d*6|0)>>1]|0;n=g-l|0;o=((((i[B+((m[O+(c*6|0)>>1]|0)-f)>>0]|0)*9|0)+(i[B+h>>0]|0)|0)*9|0)+(i[B+n>>0]|0)|0;p=m[O+(C*6|0)+2>>1]|0;q=m[O+(d*6|0)+2>>1]|0;s=p-q|0;t=m[e+(d*6|0)+2>>1]|0;u=q-t|0;v=((((i[B+((m[O+(c*6|0)+2>>1]|0)-p)>>0]|0)*9|0)+(i[B+s>>0]|0)|0)*9|0)+(i[B+u>>0]|0)|0;w=m[O+(C*6|0)+4>>1]|0;x=m[O+(d*6|0)+4>>1]|0;y=w-x|0;z=m[e+(d*6|0)+4>>1]|0;A=x-z|0;B=((((i[B+((m[O+(c*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(i[B+y>>0]|0)|0)*9|0)+(i[B+A>>0]|0)|0;if(!(v|o|B)){c=e+(d*6|0)|0;j[L>>1]=j[c>>1]|0;j[L+2>>1]=j[c+2>>1]|0;j[L+4>>1]=j[c+4>>1]|0;j[D>>1]=j[c>>1]|0;j[D+2>>1]=j[c+2>>1]|0;j[D+4>>1]=j[c+4>>1]|0;b=dh(a,D,e+(C*6|0)|0,b-C|0)|0;c=b+C|0;if((c|0)!=(k[G>>2]|0)){O=(k[I>>2]|0)+(c*6|0)|0;j[F>>1]=j[O>>1]|0;j[F+2>>1]=j[O+2>>1]|0;j[F+4>>1]=j[O+4>>1]|0;O=(k[H>>2]|0)+(c*6|0)|0;j[M>>1]=j[L>>1]|0;j[M+2>>1]=j[L+2>>1]|0;j[M+4>>1]=j[L+4>>1]|0;j[D>>1]=j[F>>1]|0;j[D+2>>1]=j[F+2>>1]|0;j[D+4>>1]=j[F+4>>1]|0;eh(E,a,M,D);j[O>>1]=j[E>>1]|0;j[O+2>>1]=j[E+2>>1]|0;j[O+4>>1]=j[E+4>>1]|0;O=k[K>>2]|0;k[K>>2]=(O|0)<1?0:O+-1|0;b=b+1|0}c=b+C|0}else{d=m[e+(C*6|0)>>1]|0;b=f-l>>31;if((b^n|0)>=0)if((b^h|0)<0)b=l;else b=l-g+f|0;else b=f;f=fh(a,o,d,b,0)|0;d=m[(k[H>>2]|0)+(C*6|0)+2>>1]|0;b=p-t>>31;if((b^u|0)>=0)if((b^s|0)<0)b=t;else b=t-q+p|0;else b=p;d=fh(a,v,d,b,0)|0;e=m[(k[H>>2]|0)+(C*6|0)+4>>1]|0;b=w-z>>31;if((b^A|0)>=0)if((b^y|0)<0)b=z;else b=z-x+w|0;else b=w;B=fh(a,B,e,b,0)|0;O=k[H>>2]|0;j[O+(C*6|0)>>1]=f;j[O+(C*6|0)+2>>1]=d;j[O+(C*6|0)+4>>1]=B}b=k[G>>2]|0;if((c|0)>=(b|0))break;else C=c}r=N;return}function dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;h=a+112|0;l=a+108|0;m=a+4592|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[l>>2]|0;e=e+-1|0;k[h>>2]=e;k[l>>2]=g<<1;if((g|0)>=0){n=8;break}g=k[m>>2]|0;o=1<>2];p=d-f|0;p=(o|0)<(p|0)?o:p;f=p+f|0;if((p|0)==(o|0))k[m>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((n|0)==8)if((f|0)!=(d|0)){e=k[m>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);p=x;x=0;if(p&1){p=Wa()|0;Ua(e|0);fb(p|0)}else ub(e|0,824,96)}}else e=d;if((e|0)<=0)return e|0;f=0;do{p=c+(f*6|0)|0;j[p>>1]=j[b>>1]|0;j[p+2>>1]=j[b+2>>1]|0;j[p+4>>1]=j[b+4>>1]|0;f=f+1|0}while((f|0)!=(e|0));return e|0}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;i=b+4568|0;o=gh(b,i)|0;g=gh(b,i)|0;i=gh(b,i)|0;f=b+128|0;e=m[d>>1]|0;l=k[b+136>>2]|0;n=l<<1|1;e=(ia(ia(n,o)|0,e-(m[c>>1]|0)>>31|1)|0)+e|0;o=0-l|0;if((e|0)>=(o|0)){f=k[f>>2]|0;if((f+l|0)<(e|0))e=e-(ia(k[b+132>>2]|0,n)|0)|0}else{e=(ia(k[b+132>>2]|0,n)|0)+e|0;f=k[f>>2]|0}if((e&f|0)!=(e|0))e=f&~(e>>31);h=e&65535;e=m[d+2>>1]|0;e=(ia(ia(n,g)|0,e-(m[c+2>>1]|0)>>31|1)|0)+e|0;if((e|0)>=(o|0)){if((f+l|0)<(e|0))e=e-(ia(k[b+132>>2]|0,n)|0)|0}else e=(ia(k[b+132>>2]|0,n)|0)+e|0;if((e&f|0)!=(e|0))e=f&~(e>>31);g=e&65535;e=m[d+4>>1]|0;e=(ia(ia(n,i)|0,e-(m[c+4>>1]|0)>>31|1)|0)+e|0;if((e|0)>=(o|0)){if((f+l|0)<(e|0))e=e-(ia(k[b+132>>2]|0,n)|0)|0}else e=(ia(k[b+132>>2]|0,n)|0)+e|0;if((e&f|0)==(e|0)){b=e;b=b&65535;j[a>>1]=h;o=a+2|0;j[o>>1]=g;a=a+4|0;j[a>>1]=b;return}b=f&~(e>>31);b=b&65535;j[a>>1]=h;o=a+2|0;j[o>>1]=g;a=a+4|0;j[a>>1]=b;return}function fh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b>>31;l=(r^b)-r|0;p=a+188+(l*12|0)+10|0;c=j[p>>1]|0;o=a+188+(l*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){b=5;while(1)if((c<>1]^r)-r+d|0;q=a+128|0;e=k[q>>2]|0;if((c&e|0)==(c|0))m=c;else m=e&~(c>>31);c=a+112|0;if((k[c>>2]|0)<8)qe(a);e=a+108|0;d=k[e>>2]|0;f=d>>>24;g=k[2832+(b<<11)+(f<<3)+4>>2]|0;if(!g){h=k[a+148>>2]|0;e=k[a+140>>2]|0;c=Tg(a)|0;if((c|0)<(h+-1-e|0)){if(b)c=(Ug(a,b)|0)+(c<>31^c>>1;if((((c|0)>-1?c:0-c|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);a=x;x=0;if(a&1){a=Wa()|0;Ua(c|0);fb(a|0)}else ub(c|0,824,96)}}else{k[c>>2]=(k[c>>2]|0)-g;k[e>>2]=d<>2]|0}h=a+136|0;d=k[h>>2]|0;if(!b){if(!d)e=(k[a+188+(l*12|0)+4>>2]<<1)+-1+(j[p>>1]|0)>>31;else e=0;g=e^c}else g=c;b=k[a+152>>2]|0;e=(k[o>>2]|0)+((g|0)>-1?g:0-g|0)|0;f=a+188+(l*12|0)+4|0;c=(k[f>>2]|0)+(ia(d<<1|1,g)|0)|0;d=j[p>>1]|0;if((d|0)==(b|0)){e=e>>1;c=c>>1;d=b>>1}k[o>>2]=e;b=d+1|0;j[p>>1]=b;e=b+c|0;if((e|0)>=1){if((c|0)>0){c=c-b|0;p=j[n>>1]|0;j[n>>1]=(p<<16>>16<127&1)+(p&65535);c=(c|0)>0?0:c}}else{c=j[n>>1]|0;j[n>>1]=(c&65535)-(c<<16>>16>-128&1);c=(e|0)>(~d|0)?e:0-d|0}k[f>>2]=c;b=k[h>>2]|0;d=b<<1|1;e=(ia(d,(g^r)-r|0)|0)+m|0;if((e|0)>=(0-b|0)){c=k[q>>2]|0;if((c+b|0)<(e|0))e=e-(ia(k[a+132>>2]|0,d)|0)|0}else{e=(ia(k[a+132>>2]|0,d)|0)+e|0;c=k[q>>2]|0}if((e&c|0)==(e|0)){a=e;a=a&65535;return a|0}a=c&~(e>>31);a=a&65535;return a|0}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=b+9|0;c=l[m>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;g=k[a+148>>2]|0;h=k[36476+(k[a+4592>>2]<<2)>>2]|0;c=k[a+140>>2]|0;e=Tg(a)|0;do if((e|0)<(g+-2-h-c|0))if(!d){d=k[f>>2]|0;a=d+e|0;c=a&1;a=(c+a|0)/2|0;j=8;break}else{h=(Ug(a,d)|0)+(e<>2]|0;e=h+d|0;g=e&1;c=g;f=1;e=(g+e|0)/2|0;break}else{e=(Ug(a,c)|0)+1|0;g=k[f>>2]|0;a=e+g|0;c=a&1;a=(c+a|0)/2|0;if(!d){d=g;j=8}else{h=e;f=1;e=a;d=g}}while(0);if((j|0)==8){h=e;f=l[b+10>>0]<<1>>>0>=(l[m>>0]|0)>>>0;e=a}e=(c|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(h+1-d>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[m>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){b=d;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[m>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=j;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}function hh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o;n=a+136|0;a:do if(!(k[n>>2]|0)){c=k[a+128>>2]|0;b=a+144|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+176>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+180>>2]|0):0)?(k[d+12>>2]|0)==(k[a+184>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4604>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4604>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4604>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4604>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+144|0;while(0);m=1<>2];c=a+4608|0;d=m<<1;e=a+4612|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4604|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+184|0;j=a+180|0;g=a+176|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function ih(a){a=a|0;var b=0,c=0;k[a>>2]=35800;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function jh(a){a=a|0;var b=0,c=0;k[a>>2]=35800;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+128>>2]|0,k[a+136>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+176>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+180>>2]=f;k[a+184>>2]=e;th(a);e=a+132|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+188+(f*12|0)>>2]=b;k[a+188+(f*12|0)+4>>2]=0;j[a+188+(f*12|0)+8>>1]=0;j[a+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4568>>2]=h;k[a+4572>>2]=0;i[a+4576>>0]=l;i[a+4577>>0]=1;i[a+4578>>0]=0;k[a+4580>>2]=h;k[a+4584>>2]=1;i[a+4588>>0]=l;i[a+4589>>0]=1;i[a+4590>>0]=0;k[a+4592>>2]=0;r=g;return}function mh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4620>>0]=e&1;b=a+156|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);nh(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function nh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;v=a+172|0;w=(k[v>>2]|0)+4|0;if((k[a+28>>2]|0)==1)y=k[a+20>>2]|0;else y=1;b=ia(y<<1,w)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;a:do if(b){if(!(b>>>0>1431655765?(x=0,qa(178,C|0),B=x,x=0,B&1):0))f=6;if((f|0)==6?(x=0,c=ta(67,b*3|0)|0,B=x,x=0,!(B&1)):0){k[D>>2]=c;k[C>>2]=c;k[C+8>>2]=c+(b*3|0);while(1){i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;c=(k[D>>2]|0)+3|0;k[D>>2]=c;b=b+-1|0;if(!b)break a}}d=Wa()|0;b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!y)f=19;else{if(!(y>>>0>1073741823?(x=0,qa(178,z|0),u=x,x=0,u&1):0))f=17;if((f|0)==17?(d=y<<2,x=0,e=ta(67,d|0)|0,u=x,x=0,!(u&1)):0){k[z>>2]=e;f=e+(y<<2)|0;k[z+8>>2]=f;sw(e|0,0,d|0)|0;k[B>>2]=f;f=19;break}d=Wa()|0;b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((f|0)==19){f=a+8|0;b:do if((k[f>>2]|0)>0){g=a+4596|0;h=ia(y,w)|0;j=h+1|0;l=a+4600|0;m=(y|0)>0;n=a+160|0;o=a+168|0;p=a+164|0;q=a+156|0;s=a+88|0;t=a+4592|0;u=0;c:while(1){d=k[C>>2]|0;c=d+3|0;k[g>>2]=c;d=d+(j*3|0)|0;k[l>>2]=d;if(!(u&1))b=d;else{k[g>>2]=d;k[l>>2]=c;b=c;c=d}if(m){e=k[z>>2]|0;d=0;do{k[t>>2]=k[e+(d<<2)>>2];b=k[v>>2]|0;e=c+(b*3|0)|0;c=c+((b+-1|0)*3|0)|0;i[e>>0]=i[c>>0]|0;i[e+1>>0]=i[c+1>>0]|0;i[e+2>>0]=i[c+2>>0]|0;c=k[g>>2]|0;e=(k[l>>2]|0)+-3|0;i[e>>0]=i[c>>0]|0;i[e+1>>0]=i[c+1>>0]|0;i[e+2>>0]=i[c+2>>0]|0;x=0;ra(78,a|0,0);e=x;x=0;if(e&1){f=30;break c}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[t>>2];c=(k[g>>2]|0)+(w*3|0)|0;k[g>>2]=c;b=(k[l>>2]|0)+(w*3|0)|0;k[l>>2]=b;d=d+1|0}while((d|0)<(y|0))}e=k[n>>2]|0;if(((e|0)<=(u|0)?(u|0)<((k[o>>2]|0)+e|0):0)?(e=k[s>>2]|0,x=0,Ja(k[(k[e>>2]|0)+8>>2]|0,e|0,b+(((k[q>>2]|0)-h|0)*3|0)|0,k[p>>2]|0,w|0),e=x,x=0,e&1):0){f=31;break}u=u+1|0;if((u|0)>=(k[f>>2]|0)){f=43;break b}}if((f|0)==30){d=Wa()|0;break}else if((f|0)==31){d=Wa()|0;break}}else f=43;while(0);do if((f|0)==43){x=0;qa(183,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);r=A;return}while(0);b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}function oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=r;r=r+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=a+172|0;b=k[F>>2]|0;if((b|0)<=0){r=M;return}G=a+4600|0;H=a+4596|0;I=a+4604|0;J=a+4592|0;B=0;while(1){y=B+-1|0;d=k[G>>2]|0;e=d+(y*3|0)|0;N=k[H>>2]|0;c=B+1|0;f=l[N+(B*3|0)>>0]|0;A=k[I>>2]|0;g=l[N+(y*3|0)>>0]|0;h=f-g|0;j=l[e>>0]|0;m=g-j|0;n=((((i[A+((l[N+(c*3|0)>>0]|0)-f)>>0]|0)*9|0)+(i[A+h>>0]|0)|0)*9|0)+(i[A+m>>0]|0)|0;o=l[N+(B*3|0)+1>>0]|0;p=l[N+(y*3|0)+1>>0]|0;q=o-p|0;s=l[d+(y*3|0)+1>>0]|0;t=p-s|0;u=((((i[A+((l[N+(c*3|0)+1>>0]|0)-o)>>0]|0)*9|0)+(i[A+q>>0]|0)|0)*9|0)+(i[A+t>>0]|0)|0;v=l[N+(B*3|0)+2>>0]|0;w=l[N+(y*3|0)+2>>0]|0;x=v-w|0;y=l[d+(y*3|0)+2>>0]|0;z=w-y|0;A=((((i[A+((l[N+(c*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(i[A+x>>0]|0)|0)*9|0)+(i[A+z>>0]|0)|0;if(!(u|n|A)){i[K>>0]=i[e>>0]|0;i[K+1>>0]=i[e+1>>0]|0;i[K+2>>0]=i[e+2>>0]|0;i[C>>0]=i[e>>0]|0;i[C+1>>0]=i[e+1>>0]|0;i[C+2>>0]=i[e+2>>0]|0;b=ph(a,C,d+(B*3|0)|0,b-B|0)|0;c=b+B|0;if((c|0)!=(k[F>>2]|0)){N=(k[H>>2]|0)+(c*3|0)|0;i[E>>0]=i[N>>0]|0;i[E+1>>0]=i[N+1>>0]|0;i[E+2>>0]=i[N+2>>0]|0;N=k[G>>2]|0;i[L>>0]=i[K>>0]|0;i[L+1>>0]=i[K+1>>0]|0;i[L+2>>0]=i[K+2>>0]|0;i[C>>0]=i[E>>0]|0;i[C+1>>0]=i[E+1>>0]|0;i[C+2>>0]=i[E+2>>0]|0;qh(D,a,L,C);N=N+(c*3|0)|0;i[N>>0]=i[D>>0]|0;i[N+1>>0]=i[D+1>>0]|0;i[N+2>>0]=i[D+2>>0]|0;N=k[J>>2]|0;k[J>>2]=(N|0)<1?0:N+-1|0;b=b+1|0}c=b+B|0}else{d=l[d+(B*3|0)>>0]|0;b=f-j>>31;if((b^m|0)>=0)if((b^h|0)<0)b=j;else b=j-g+f|0;else b=f;f=rh(a,n,d,b,0)|0;d=l[(k[G>>2]|0)+(B*3|0)+1>>0]|0;b=o-s>>31;if((b^t|0)>=0)if((b^q|0)<0)b=s;else b=s-p+o|0;else b=o;d=rh(a,u,d,b,0)|0;e=l[(k[G>>2]|0)+(B*3|0)+2>>0]|0;b=v-y>>31;if((b^z|0)>=0)if((b^x|0)<0)b=y;else b=y-w+v|0;else b=v;A=rh(a,A,e,b,0)|0;N=(k[G>>2]|0)+(B*3|0)|0;i[N>>0]=f;i[N+1>>0]=d;i[N+2>>0]=A}b=k[F>>2]|0;if((c|0)>=(b|0))break;else B=c}r=M;return}function ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;h=a+112|0;j=a+108|0;l=a+4592|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[j>>2]|0;e=e+-1|0;k[h>>2]=e;k[j>>2]=g<<1;if((g|0)>=0){m=8;break}g=k[l>>2]|0;n=1<>2];o=d-f|0;o=(n|0)<(o|0)?n:o;f=o+f|0;if((o|0)==(n|0))k[l>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((m|0)==8)if((f|0)!=(d|0)){e=k[l>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);o=x;x=0;if(o&1){o=Wa()|0;Ua(e|0);fb(o|0)}else ub(e|0,824,96)}}else e=d;if((e|0)<=0)return e|0;f=0;do{o=c+(f*3|0)|0;i[o>>0]=i[b>>0]|0;i[o+1>>0]=i[b+1>>0]|0;i[o+2>>0]=i[b+2>>0]|0;f=f+1|0}while((f|0)!=(e|0));return e|0}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;j=b+4568|0;o=sh(b,j)|0;g=sh(b,j)|0;j=sh(b,j)|0;f=b+128|0;e=l[d>>0]|0;m=k[b+136>>2]|0;n=m<<1|1;e=(ia(ia(n,o)|0,e-(l[c>>0]|0)>>31|1)|0)+e|0;o=0-m|0;if((e|0)>=(o|0)){f=k[f>>2]|0;if((f+m|0)<(e|0))e=e-(ia(k[b+132>>2]|0,n)|0)|0}else{e=(ia(k[b+132>>2]|0,n)|0)+e|0;f=k[f>>2]|0}if((e&f|0)!=(e|0))e=f&~(e>>31);h=e&255;e=l[d+1>>0]|0;e=(ia(ia(n,g)|0,e-(l[c+1>>0]|0)>>31|1)|0)+e|0;if((e|0)>=(o|0)){if((f+m|0)<(e|0))e=e-(ia(k[b+132>>2]|0,n)|0)|0}else e=(ia(k[b+132>>2]|0,n)|0)+e|0;if((e&f|0)!=(e|0))e=f&~(e>>31);g=e&255;e=l[d+2>>0]|0;e=(ia(ia(n,j)|0,e-(l[c+2>>0]|0)>>31|1)|0)+e|0;if((e|0)>=(o|0)){if((f+m|0)<(e|0))e=e-(ia(k[b+132>>2]|0,n)|0)|0}else e=(ia(k[b+132>>2]|0,n)|0)+e|0;if((e&f|0)==(e|0)){b=e;b=b&255;i[a>>0]=h;o=a+1|0;i[o>>0]=g;a=a+2|0;i[a>>0]=b;return}b=f&~(e>>31);b=b&255;i[a>>0]=h;o=a+1|0;i[o>>0]=g;a=a+2|0;i[a>>0]=b;return}function rh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b>>31;l=(r^b)-r|0;p=a+188+(l*12|0)+10|0;c=j[p>>1]|0;o=a+188+(l*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){b=5;while(1)if((c<>1]^r)-r+d|0;q=a+128|0;e=k[q>>2]|0;if((c&e|0)==(c|0))m=c;else m=e&~(c>>31);c=a+112|0;if((k[c>>2]|0)<8)qe(a);e=a+108|0;d=k[e>>2]|0;f=d>>>24;g=k[2832+(b<<11)+(f<<3)+4>>2]|0;if(!g){h=k[a+148>>2]|0;e=k[a+140>>2]|0;c=Tg(a)|0;if((c|0)<(h+-1-e|0)){if(b)c=(Ug(a,b)|0)+(c<>31^c>>1;if((((c|0)>-1?c:0-c|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);a=x;x=0;if(a&1){a=Wa()|0;Ua(c|0);fb(a|0)}else ub(c|0,824,96)}}else{k[c>>2]=(k[c>>2]|0)-g;k[e>>2]=d<>2]|0}h=a+136|0;d=k[h>>2]|0;if(!b){if(!d)e=(k[a+188+(l*12|0)+4>>2]<<1)+-1+(j[p>>1]|0)>>31;else e=0;g=e^c}else g=c;b=k[a+152>>2]|0;e=(k[o>>2]|0)+((g|0)>-1?g:0-g|0)|0;f=a+188+(l*12|0)+4|0;c=(k[f>>2]|0)+(ia(d<<1|1,g)|0)|0;d=j[p>>1]|0;if((d|0)==(b|0)){e=e>>1;c=c>>1;d=b>>1}k[o>>2]=e;b=d+1|0;j[p>>1]=b;e=b+c|0;if((e|0)>=1){if((c|0)>0){c=c-b|0;p=j[n>>1]|0;j[n>>1]=(p<<16>>16<127&1)+(p&65535);c=(c|0)>0?0:c}}else{c=j[n>>1]|0;j[n>>1]=(c&65535)-(c<<16>>16>-128&1);c=(e|0)>(~d|0)?e:0-d|0}k[f>>2]=c;b=k[h>>2]|0;d=b<<1|1;e=(ia(d,(g^r)-r|0)|0)+m|0;if((e|0)>=(0-b|0)){c=k[q>>2]|0;if((c+b|0)<(e|0))e=e-(ia(k[a+132>>2]|0,d)|0)|0}else{e=(ia(k[a+132>>2]|0,d)|0)+e|0;c=k[q>>2]|0}if((e&c|0)==(e|0)){a=e;a=a&255;return a|0}a=c&~(e>>31);a=a&255;return a|0}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=b+9|0;c=l[m>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;g=k[a+148>>2]|0;h=k[36476+(k[a+4592>>2]<<2)>>2]|0;c=k[a+140>>2]|0;e=Tg(a)|0;do if((e|0)<(g+-2-h-c|0))if(!d){d=k[f>>2]|0;a=d+e|0;c=a&1;a=(c+a|0)/2|0;j=8;break}else{h=(Ug(a,d)|0)+(e<>2]|0;e=h+d|0;g=e&1;c=g;f=1;e=(g+e|0)/2|0;break}else{e=(Ug(a,c)|0)+1|0;g=k[f>>2]|0;a=e+g|0;c=a&1;a=(c+a|0)/2|0;if(!d){d=g;j=8}else{h=e;f=1;e=a;d=g}}while(0);if((j|0)==8){h=e;f=l[b+10>>0]<<1>>>0>=(l[m>>0]|0)>>>0;e=a}e=(c|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(h+1-d>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[m>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){b=d;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[m>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=j;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}function th(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o;n=a+136|0;a:do if(!(k[n>>2]|0)){c=k[a+128>>2]|0;b=a+144|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+176>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+180>>2]|0):0)?(k[d+12>>2]|0)==(k[a+184>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4604>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4604>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4604>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4604>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+144|0;while(0);m=1<>2];c=a+4608|0;d=m<<1;e=a+4612|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4604|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+184|0;j=a+180|0;g=a+176|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function uh(a){a=a|0;var b=0,c=0;k[a>>2]=35772;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function vh(a){a=a|0;var b=0,c=0;k[a>>2]=35772;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,65535,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+152>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+156>>2]=f;k[a+160>>2]=d;Fh(a);d=0;do{k[a+164+(d*12|0)>>2]=1024;k[a+164+(d*12|0)+4>>2]=0;j[a+164+(d*12|0)+8>>1]=0;j[a+164+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4544>>2]=1024;k[a+4548>>2]=0;i[a+4552>>0]=h;i[a+4553>>0]=1;i[a+4554>>0]=0;k[a+4556>>2]=1024;k[a+4560>>2]=1;i[a+4564>>0]=h;i[a+4565>>0]=1;i[a+4566>>0]=0;k[a+4568>>2]=0;r=e;return}function yh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4596>>0]=e&1;b=a+132|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);zh(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;v=a+148|0;w=(k[v>>2]|0)+4|0;if((k[a+28>>2]|0)==1)y=k[a+20>>2]|0;else y=1;b=ia(y<<1,w)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;do if(b){if(!((b|0)<0?(x=0,qa(178,C|0),B=x,x=0,B&1):0))g=6;if((g|0)==6?(c=b<<1,x=0,d=ta(67,c|0)|0,B=x,x=0,!(B&1)):0){k[C>>2]=d;B=d+(b<<1)|0;k[C+8>>2]=B;sw(d|0,0,c|0)|0;k[D>>2]=B;break}d=Wa()|0;b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!y)g=18;else{if(!(y>>>0>1073741823?(x=0,qa(178,z|0),u=x,x=0,u&1):0))g=16;if((g|0)==16?(e=y<<2,x=0,f=ta(67,e|0)|0,u=x,x=0,!(u&1)):0){k[z>>2]=f;g=f+(y<<2)|0;k[z+8>>2]=g;sw(f|0,0,e|0)|0;k[B>>2]=g;g=18;break}d=Wa()|0;b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==18){f=a+8|0;a:do if((k[f>>2]|0)>0){g=a+4572|0;h=ia(y,w)|0;i=h+1|0;l=a+4576|0;m=(y|0)>0;n=a+136|0;o=a+144|0;p=a+140|0;q=a+132|0;s=a+88|0;t=a+4568|0;u=0;b:while(1){d=k[C>>2]|0;c=d+2|0;k[g>>2]=c;d=d+(i<<1)|0;k[l>>2]=d;if(!(u&1))b=d;else{k[g>>2]=d;k[l>>2]=c;b=c;c=d}if(m){e=k[z>>2]|0;d=0;do{k[t>>2]=k[e+(d<<2)>>2];e=k[v>>2]|0;j[c+(e<<1)>>1]=j[c+(e+-1<<1)>>1]|0;j[b+-2>>1]=j[c>>1]|0;x=0;ra(79,a|0,0);e=x;x=0;if(e&1){g=29;break b}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[t>>2];c=(k[g>>2]|0)+(w<<1)|0;k[g>>2]=c;b=(k[l>>2]|0)+(w<<1)|0;k[l>>2]=b;d=d+1|0}while((d|0)<(y|0))}e=k[n>>2]|0;if(((e|0)<=(u|0)?(u|0)<((k[o>>2]|0)+e|0):0)?(e=k[s>>2]|0,x=0,Ja(k[(k[e>>2]|0)+8>>2]|0,e|0,b+((k[q>>2]|0)-h<<1)|0,k[p>>2]|0,w|0),e=x,x=0,e&1):0){g=30;break}u=u+1|0;if((u|0)>=(k[f>>2]|0)){g=42;break a}}if((g|0)==29){d=Wa()|0;break}else if((g|0)==30){d=Wa()|0;break}}else g=42;while(0);do if((g|0)==42){x=0;qa(183,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);r=A;return}while(0);b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+4572|0;b=k[p>>2]|0;s=a+148|0;if((k[s>>2]|0)<=0)return;q=a+4576|0;r=a+4580|0;e=b;f=m[b+-2>>1]|0;b=m[b>>1]|0;o=0;while(1){n=k[q>>2]|0;l=m[n+(o+-1<<1)>>1]|0;d=o+1|0;c=m[e+(d<<1)>>1]|0;h=k[r>>2]|0;g=b-f|0;e=f-l|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(Ch(a,o,0)|0)+o|0;c=k[p>>2]|0;b=m[c+(d+-1<<1)>>1]|0;c=m[c+(d<<1)>>1]|0}else{f=b-l>>31;if((f^e|0)<0)e=b;else e=l+((f^g|0)<0?0:g)|0;n=Bh(a,h,m[n+(o<<1)>>1]|0,e,0)|0;j[(k[q>>2]|0)+(o<<1)>>1]=n}if((d|0)>=(k[s>>2]|0))break;e=k[p>>2]|0;f=b;b=c;o=d}return}function Bh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;m=(q^b)-q|0;p=a+164+(m*12|0)+10|0;c=j[p>>1]|0;o=a+164+(m*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){f=5;while(1)if((c<>1]^q)-q+d|0;if((c&65535|0)!=(c|0))c=c>>31&65535^65535;e=a+112|0;if((k[e>>2]|0)<8)qe(a);d=a+108|0;g=k[d>>2]|0;h=g>>>24;l=k[2832+(f<<11)+(h<<3)+4>>2]|0;if(!l){e=Tg(a)|0;if((e|0)<47){if(f)e=(Ug(a,f)|0)+(e<>31^e>>1;if((((e|0)>-1?e:0-e|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);b=x;x=0;if(b&1){b=Wa()|0;Ua(c|0);fb(b|0)}else ub(c|0,824,96)}}else{k[e>>2]=(k[e>>2]|0)-l;k[d>>2]=g<>2]|0}l=a+164+(m*12|0)+4|0;d=k[l>>2]|0;if(!f){a=j[p>>1]|0;f=a;e=(d<<1)+-1+(a<<16>>16)>>31^e}else f=j[p>>1]|0;g=f<<16>>16==64;a=g&1;h=d+e>>a;g=g?32:f<<16>>16;k[o>>2]=((e|0)>-1?e:0-e|0)+(k[o>>2]|0)>>a;d=g+1|0;j[p>>1]=d;f=d+h|0;if((f|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(f|0)>(~g|0)?f:0-g|0;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&65535;return b|0}if((h|0)<=0){p=h;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&65535;return b|0}p=h-d|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&65535;return b|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+4576|0;e=k[f>>2]|0;c=j[e+(b+-1<<1)>>1]|0;g=a+148|0;e=Dh(a,c,e+(b<<1)|0,(k[g>>2]|0)-b|0)|0;d=e+b|0;if((d|0)==(k[g>>2]|0)){g=e;return g|0}c=c&65535;b=m[(k[a+4572>>2]|0)+(d<<1)>>1]|0;g=c-b|0;if((((g|0)>-1?g:0-g|0)|0)<1)c=(Eh(a,a+4556|0)|0)+c|0;else c=(ia(Eh(a,a+4544|0)|0,b-c>>31|1)|0)+b|0;j[(k[f>>2]|0)+(d<<1)>>1]=c;g=a+4568|0;a=k[g>>2]|0;k[g>>2]=(a|0)<1?0:a+-1|0;g=e+1|0;return g|0}function Dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;h=a+112|0;l=a+108|0;m=a+4568|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[l>>2]|0;e=e+-1|0;k[h>>2]=e;k[l>>2]=g<<1;if((g|0)>=0){n=8;break}g=k[m>>2]|0;o=1<>2];p=d-f|0;p=(o|0)<(p|0)?o:p;f=p+f|0;if((p|0)==(o|0))k[m>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((n|0)==8)if((f|0)!=(d|0)){e=k[m>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);p=x;x=0;if(p&1){p=Wa()|0;Ua(e|0);fb(p|0)}else ub(e|0,824,96)}}else e=d;if((e|0)>0)f=0;else return e|0;do{j[c+(f<<1)>>1]=b;f=f+1|0}while((f|0)!=(e|0));return e|0}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=b+9|0;c=l[h>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;e=k[36476+(k[a+4568>>2]<<2)>>2]|0;c=Tg(a)|0;do if((c|0)<(46-e|0))if(!d){a=k[f>>2]|0;e=a+c|0;d=e&1;e=(d+e|0)/2|0;g=8;break}else{c=(Ug(a,d)|0)+(c<>2]|0;e=c+a|0;j=e&1;d=j;f=1;e=(j+e|0)/2|0;break}else{c=(Ug(a,16)|0)+1|0;a=k[f>>2]|0;e=c+a|0;f=e&1;e=(f+e|0)/2|0;if(!d){d=f;g=8}else{d=f;f=1}}while(0);if((g|0)==8)f=l[b+10>>0]<<1>>>0>=(l[h>>0]|0)>>>0;e=(d|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(c+1-a>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[h>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){j=d;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[h>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}function Fh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,65535,0);j=a+152|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+156>>2]|0):0)?(k[h+12>>2]|0)==(k[a+160>>2]|0):0){j=k[8909]|0;k[a+4580>>2]=j+(((k[8910]|0)-j|0)>>>1);r=l;return}c=a+4584|0;d=a+4588|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=131072){if(f>>>0>131072?(g=b+131072|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,131072-f|0);b=k[c>>2]|0}h=a+4580|0;k[h>>2]=b+65536;g=a+160|0;e=a+156|0;f=-65536;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==65536)break}r=l;return}function Gh(a){a=a|0;var b=0,c=0;k[a>>2]=35744;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Hh(a){a=a|0;var b=0,c=0;k[a>>2]=35744;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(37,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==16)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(38,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(39,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(40,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=2;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,4095,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+152>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+156>>2]=f;k[a+160>>2]=d;Rh(a);d=0;do{k[a+164+(d*12|0)>>2]=64;k[a+164+(d*12|0)+4>>2]=0;j[a+164+(d*12|0)+8>>1]=0;j[a+164+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4544>>2]=64;k[a+4548>>2]=0;i[a+4552>>0]=h;i[a+4553>>0]=1;i[a+4554>>0]=0;k[a+4556>>2]=64;k[a+4560>>2]=1;i[a+4564>>0]=h;i[a+4565>>0]=1;i[a+4566>>0]=0;k[a+4568>>2]=0;r=e;return}function Kh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4596>>0]=e&1;b=a+132|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);Lh(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;v=a+148|0;w=(k[v>>2]|0)+4|0;if((k[a+28>>2]|0)==1)y=k[a+20>>2]|0;else y=1;b=ia(y<<1,w)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;do if(b){if(!((b|0)<0?(x=0,qa(178,C|0),B=x,x=0,B&1):0))g=6;if((g|0)==6?(c=b<<1,x=0,d=ta(67,c|0)|0,B=x,x=0,!(B&1)):0){k[C>>2]=d;B=d+(b<<1)|0;k[C+8>>2]=B;sw(d|0,0,c|0)|0;k[D>>2]=B;break}d=Wa()|0;b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!y)g=18;else{if(!(y>>>0>1073741823?(x=0,qa(178,z|0),u=x,x=0,u&1):0))g=16;if((g|0)==16?(e=y<<2,x=0,f=ta(67,e|0)|0,u=x,x=0,!(u&1)):0){k[z>>2]=f;g=f+(y<<2)|0;k[z+8>>2]=g;sw(f|0,0,e|0)|0;k[B>>2]=g;g=18;break}d=Wa()|0;b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((g|0)==18){f=a+8|0;a:do if((k[f>>2]|0)>0){g=a+4572|0;h=ia(y,w)|0;i=h+1|0;l=a+4576|0;m=(y|0)>0;n=a+136|0;o=a+144|0;p=a+140|0;q=a+132|0;s=a+88|0;t=a+4568|0;u=0;b:while(1){d=k[C>>2]|0;c=d+2|0;k[g>>2]=c;d=d+(i<<1)|0;k[l>>2]=d;if(!(u&1))b=d;else{k[g>>2]=d;k[l>>2]=c;b=c;c=d}if(m){e=k[z>>2]|0;d=0;do{k[t>>2]=k[e+(d<<2)>>2];e=k[v>>2]|0;j[c+(e<<1)>>1]=j[c+(e+-1<<1)>>1]|0;j[b+-2>>1]=j[c>>1]|0;x=0;ra(80,a|0,0);e=x;x=0;if(e&1){g=29;break b}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[t>>2];c=(k[g>>2]|0)+(w<<1)|0;k[g>>2]=c;b=(k[l>>2]|0)+(w<<1)|0;k[l>>2]=b;d=d+1|0}while((d|0)<(y|0))}e=k[n>>2]|0;if(((e|0)<=(u|0)?(u|0)<((k[o>>2]|0)+e|0):0)?(e=k[s>>2]|0,x=0,Ja(k[(k[e>>2]|0)+8>>2]|0,e|0,b+((k[q>>2]|0)-h<<1)|0,k[p>>2]|0,w|0),e=x,x=0,e&1):0){g=30;break}u=u+1|0;if((u|0)>=(k[f>>2]|0)){g=42;break a}}if((g|0)==29){d=Wa()|0;break}else if((g|0)==30){d=Wa()|0;break}}else g=42;while(0);do if((g|0)==42){x=0;qa(183,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);r=A;return}while(0);b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~((c+-2-b|0)>>>1)<<1);mj(b);fb(d|0)}function Mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+4572|0;b=k[p>>2]|0;s=a+148|0;if((k[s>>2]|0)<=0)return;q=a+4576|0;r=a+4580|0;e=b;f=m[b+-2>>1]|0;b=m[b>>1]|0;o=0;while(1){n=k[q>>2]|0;l=m[n+(o+-1<<1)>>1]|0;d=o+1|0;c=m[e+(d<<1)>>1]|0;h=k[r>>2]|0;g=b-f|0;e=f-l|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(Oh(a,o,0)|0)+o|0;c=k[p>>2]|0;b=m[c+(d+-1<<1)>>1]|0;c=m[c+(d<<1)>>1]|0}else{f=b-l>>31;if((f^e|0)<0)e=b;else e=l+((f^g|0)<0?0:g)|0;n=Nh(a,h,m[n+(o<<1)>>1]|0,e,0)|0;j[(k[q>>2]|0)+(o<<1)>>1]=n}if((d|0)>=(k[s>>2]|0))break;e=k[p>>2]|0;f=b;b=c;o=d}return}function Nh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;m=(q^b)-q|0;p=a+164+(m*12|0)+10|0;c=j[p>>1]|0;o=a+164+(m*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){f=5;while(1)if((c<>1]^q)-q+d|0;if((c&4095|0)!=(c|0))c=c>>31&4095^4095;e=a+112|0;if((k[e>>2]|0)<8)qe(a);d=a+108|0;g=k[d>>2]|0;h=g>>>24;l=k[2832+(f<<11)+(h<<3)+4>>2]|0;if(!l){e=Tg(a)|0;if((e|0)<35){if(f)e=(Ug(a,f)|0)+(e<>31^e>>1;if((((e|0)>-1?e:0-e|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);b=x;x=0;if(b&1){b=Wa()|0;Ua(c|0);fb(b|0)}else ub(c|0,824,96)}}else{k[e>>2]=(k[e>>2]|0)-l;k[d>>2]=g<>2]|0}l=a+164+(m*12|0)+4|0;d=k[l>>2]|0;if(!f){a=j[p>>1]|0;f=a;e=(d<<1)+-1+(a<<16>>16)>>31^e}else f=j[p>>1]|0;g=f<<16>>16==64;a=g&1;h=d+e>>a;g=g?32:f<<16>>16;k[o>>2]=((e|0)>-1?e:0-e|0)+(k[o>>2]|0)>>a;d=g+1|0;j[p>>1]=d;f=d+h|0;if((f|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(f|0)>(~g|0)?f:0-g|0;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&4095;b=b&65535;return b|0}if((h|0)<=0){p=h;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&4095;b=b&65535;return b|0}p=h-d|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&4095;b=b&65535;return b|0}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+4576|0;e=k[f>>2]|0;c=j[e+(b+-1<<1)>>1]|0;g=a+148|0;e=Ph(a,c,e+(b<<1)|0,(k[g>>2]|0)-b|0)|0;d=e+b|0;if((d|0)==(k[g>>2]|0)){g=e;return g|0}c=c&65535;b=m[(k[a+4572>>2]|0)+(d<<1)>>1]|0;g=c-b|0;if((((g|0)>-1?g:0-g|0)|0)<1)c=(Qh(a,a+4556|0)|0)+c|0;else c=(ia(Qh(a,a+4544|0)|0,b-c>>31|1)|0)+b|0;j[(k[f>>2]|0)+(d<<1)>>1]=c&4095;g=a+4568|0;a=k[g>>2]|0;k[g>>2]=(a|0)<1?0:a+-1|0;g=e+1|0;return g|0}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;h=a+112|0;l=a+108|0;m=a+4568|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[l>>2]|0;e=e+-1|0;k[h>>2]=e;k[l>>2]=g<<1;if((g|0)>=0){n=8;break}g=k[m>>2]|0;o=1<>2];p=d-f|0;p=(o|0)<(p|0)?o:p;f=p+f|0;if((p|0)==(o|0))k[m>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((n|0)==8)if((f|0)!=(d|0)){e=k[m>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);p=x;x=0;if(p&1){p=Wa()|0;Ua(e|0);fb(p|0)}else ub(e|0,824,96)}}else e=d;if((e|0)>0)f=0;else return e|0;do{j[c+(f<<1)>>1]=b;f=f+1|0}while((f|0)!=(e|0));return e|0}function Qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=b+9|0;c=l[h>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;e=k[36476+(k[a+4568>>2]<<2)>>2]|0;c=Tg(a)|0;do if((c|0)<(34-e|0))if(!d){a=k[f>>2]|0;e=a+c|0;d=e&1;e=(d+e|0)/2|0;g=8;break}else{c=(Ug(a,d)|0)+(c<>2]|0;e=c+a|0;j=e&1;d=j;f=1;e=(j+e|0)/2|0;break}else{c=(Ug(a,12)|0)+1|0;a=k[f>>2]|0;e=c+a|0;f=e&1;e=(f+e|0)/2|0;if(!d){d=f;g=8}else{d=f;f=1}}while(0);if((g|0)==8)f=l[b+10>>0]<<1>>>0>=(l[h>>0]|0)>>>0;e=(d|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(c+1-a>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[h>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){j=d;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[h>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}function Rh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,4095,0);j=a+152|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+156>>2]|0):0)?(k[h+12>>2]|0)==(k[a+160>>2]|0):0){j=k[8906]|0;k[a+4580>>2]=j+(((k[8907]|0)-j|0)>>>1);r=l;return}c=a+4584|0;d=a+4588|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=8192){if(f>>>0>8192?(g=b+8192|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,8192-f|0);b=k[c>>2]|0}h=a+4580|0;k[h>>2]=b+4096;g=a+160|0;e=a+156|0;f=-4096;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==4096)break}r=l;return}function Sh(a){a=a|0;var b=0,c=0;k[a>>2]=35716;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function Th(a){a=a|0;var b=0,c=0;k[a>>2]=35716;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,255,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+152>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+156>>2]=f;k[a+160>>2]=d;bi(a);d=0;do{k[a+164+(d*12|0)>>2]=4;k[a+164+(d*12|0)+4>>2]=0;j[a+164+(d*12|0)+8>>1]=0;j[a+164+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4544>>2]=4;k[a+4548>>2]=0;i[a+4552>>0]=h;i[a+4553>>0]=1;i[a+4554>>0]=0;k[a+4556>>2]=4;k[a+4560>>2]=1;i[a+4564>>0]=h;i[a+4565>>0]=1;i[a+4566>>0]=0;k[a+4568>>2]=0;r=e;return}function Wh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4596>>0]=e&1;b=a+132|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);Xh(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function Xh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;v=a+148|0;w=(k[v>>2]|0)+4|0;if((k[a+28>>2]|0)==1)y=k[a+20>>2]|0;else y=1;b=ia(y<<1,w)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;a:do if(b){if(!((b|0)<0?(x=0,qa(178,C|0),B=x,x=0,B&1):0))f=6;if((f|0)==6?(x=0,c=ta(67,b|0)|0,B=x,x=0,!(B&1)):0){k[D>>2]=c;k[C>>2]=c;k[C+8>>2]=c+b;while(1){i[c>>0]=0;c=(k[D>>2]|0)+1|0;k[D>>2]=c;b=b+-1|0;if(!b)break a}}c=Wa()|0;b=k[C>>2]|0;if(!b)fb(c|0);if((k[D>>2]|0)!=(b|0))k[D>>2]=b;mj(b);fb(c|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!y)f=19;else{if(!(y>>>0>1073741823?(x=0,qa(178,z|0),u=x,x=0,u&1):0))f=17;if((f|0)==17?(d=y<<2,x=0,e=ta(67,d|0)|0,u=x,x=0,!(u&1)):0){k[z>>2]=e;f=e+(y<<2)|0;k[z+8>>2]=f;sw(e|0,0,d|0)|0;k[B>>2]=f;f=19;break}c=Wa()|0;b=k[z>>2]|0;d=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}while(0);if((f|0)==19){f=a+8|0;b:do if((k[f>>2]|0)>0){g=a+4572|0;h=ia(y,w)|0;j=h+1|0;l=a+4576|0;m=(y|0)>0;n=a+136|0;o=a+144|0;p=a+140|0;q=a+132|0;s=a+88|0;t=a+4568|0;u=0;c:while(1){d=k[C>>2]|0;c=d+1|0;k[g>>2]=c;d=d+j|0;k[l>>2]=d;if(!(u&1))b=d;else{k[g>>2]=d;k[l>>2]=c;b=c;c=d}if(m){e=k[z>>2]|0;d=0;do{k[t>>2]=k[e+(d<<2)>>2];e=k[v>>2]|0;i[c+e>>0]=i[c+(e+-1)>>0]|0;i[(k[l>>2]|0)+-1>>0]=i[k[g>>2]>>0]|0;x=0;ra(81,a|0,0);e=x;x=0;if(e&1){f=30;break c}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[t>>2];c=(k[g>>2]|0)+w|0;k[g>>2]=c;b=(k[l>>2]|0)+w|0;k[l>>2]=b;d=d+1|0}while((d|0)<(y|0))}e=k[n>>2]|0;if(((e|0)<=(u|0)?(u|0)<((k[o>>2]|0)+e|0):0)?(e=k[s>>2]|0,x=0,Ja(k[(k[e>>2]|0)+8>>2]|0,e|0,b+((k[q>>2]|0)-h)|0,k[p>>2]|0,w|0),e=x,x=0,e&1):0){f=31;break}u=u+1|0;if((u|0)>=(k[f>>2]|0)){f=43;break b}}if((f|0)==30){c=Wa()|0;break}else if((f|0)==31){c=Wa()|0;break}}else f=43;while(0);do if((f|0)==43){x=0;qa(183,a|0);a=x;x=0;if(a&1){c=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}if((k[D>>2]|0)!=(b|0))k[D>>2]=b;mj(b);r=A;return}while(0);b=k[z>>2]|0;d=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(c|0);if((k[D>>2]|0)!=(b|0))k[D>>2]=b;mj(b);fb(c|0)}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+4572|0;b=k[o>>2]|0;r=a+148|0;if((k[r>>2]|0)<=0)return;p=a+4576|0;q=a+4580|0;e=b;f=l[b+-1>>0]|0;b=l[b>>0]|0;n=0;while(1){m=k[p>>2]|0;j=l[m+(n+-1)>>0]|0;d=n+1|0;c=l[e+d>>0]|0;h=k[q>>2]|0;g=b-f|0;e=f-j|0;h=((((i[h+(c-b)>>0]|0)*9|0)+(i[h+g>>0]|0)|0)*9|0)+(i[h+e>>0]|0)|0;if(!h){d=(_h(a,n,0)|0)+n|0;c=k[o>>2]|0;b=l[c+(d+-1)>>0]|0;c=l[c+d>>0]|0}else{f=b-j>>31;if((f^e|0)<0)e=b;else e=j+((f^g|0)<0?0:g)|0;m=Zh(a,h,l[m+n>>0]|0,e,0)|0;i[(k[p>>2]|0)+n>>0]=m}if((d|0)>=(k[r>>2]|0))break;e=k[o>>2]|0;f=b;b=c;n=d}return}function Zh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;m=(q^b)-q|0;p=a+164+(m*12|0)+10|0;c=j[p>>1]|0;o=a+164+(m*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){f=5;while(1)if((c<>1]^q)-q+d|0;if((c&255|0)!=(c|0))c=c>>31&255^255;e=a+112|0;if((k[e>>2]|0)<8)qe(a);d=a+108|0;g=k[d>>2]|0;h=g>>>24;l=k[2832+(f<<11)+(h<<3)+4>>2]|0;if(!l){e=Tg(a)|0;if((e|0)<23){if(f)e=(Ug(a,f)|0)+(e<>31^e>>1;if((((e|0)>-1?e:0-e|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);b=x;x=0;if(b&1){b=Wa()|0;Ua(c|0);fb(b|0)}else ub(c|0,824,96)}}else{k[e>>2]=(k[e>>2]|0)-l;k[d>>2]=g<>2]|0}l=a+164+(m*12|0)+4|0;d=k[l>>2]|0;if(!f){a=j[p>>1]|0;f=a;e=(d<<1)+-1+(a<<16>>16)>>31^e}else f=j[p>>1]|0;g=f<<16>>16==64;a=g&1;h=d+e>>a;g=g?32:f<<16>>16;k[o>>2]=((e|0)>-1?e:0-e|0)+(k[o>>2]|0)>>a;d=g+1|0;j[p>>1]=d;f=d+h|0;if((f|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(f|0)>(~g|0)?f:0-g|0;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&255;return b|0}if((h|0)<=0){p=h;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&255;return b|0}p=h-d|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&255;return b|0}function _h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+4576|0;e=k[f>>2]|0;c=i[e+(b+-1)>>0]|0;g=a+148|0;e=$h(a,c,e+b|0,(k[g>>2]|0)-b|0)|0;d=e+b|0;if((d|0)==(k[g>>2]|0)){g=e;return g|0}c=c&255;b=l[(k[a+4572>>2]|0)+d>>0]|0;g=c-b|0;if((((g|0)>-1?g:0-g|0)|0)<1)c=(ai(a,a+4556|0)|0)+c|0;else c=(ia(ai(a,a+4544|0)|0,b-c>>31|1)|0)+b|0;i[(k[f>>2]|0)+d>>0]=c;g=a+4568|0;a=k[g>>2]|0;k[g>>2]=(a|0)<1?0:a+-1|0;g=e+1|0;return g|0}function $h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;h=a+112|0;j=a+108|0;l=a+4568|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[j>>2]|0;e=e+-1|0;k[h>>2]=e;k[j>>2]=g<<1;if((g|0)>=0){m=8;break}g=k[l>>2]|0;n=1<>2];o=d-f|0;o=(n|0)<(o|0)?n:o;f=o+f|0;if((o|0)==(n|0))k[l>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((m|0)==8)if((f|0)!=(d|0)){e=k[l>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);o=x;x=0;if(o&1){o=Wa()|0;Ua(e|0);fb(o|0)}else ub(e|0,824,96)}}else e=d;if((e|0)<=0)return e|0;sw(c|0,b|0,e|0)|0;return e|0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=b+9|0;c=l[h>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;e=k[36476+(k[a+4568>>2]<<2)>>2]|0;c=Tg(a)|0;do if((c|0)<(22-e|0))if(!d){a=k[f>>2]|0;e=a+c|0;d=e&1;e=(d+e|0)/2|0;g=8;break}else{c=(Ug(a,d)|0)+(c<>2]|0;e=c+a|0;j=e&1;d=j;f=1;e=(j+e|0)/2|0;break}else{c=(Ug(a,8)|0)+1|0;a=k[f>>2]|0;e=c+a|0;f=e&1;e=(f+e|0)/2|0;if(!d){d=f;g=8}else{d=f;f=1}}while(0);if((g|0)==8)f=l[b+10>>0]<<1>>>0>=(l[h>>0]|0)>>>0;e=(d|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(c+1-a>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[h>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){j=d;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[h>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}function bi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,255,0);j=a+152|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+156>>2]|0):0)?(k[h+12>>2]|0)==(k[a+160>>2]|0):0){j=k[8900]|0;k[a+4580>>2]=j+(((k[8901]|0)-j|0)>>>1);r=l;return}c=a+4584|0;d=a+4588|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=512){if(f>>>0>512?(g=b+512|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,512-f|0);b=k[c>>2]|0}h=a+4580|0;k[h>>2]=b+256;g=a+160|0;e=a+156|0;f=-256;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==256)break}r=l;return}function ci(a){a=a|0;var b=0,c=0;k[a>>2]=35688;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function di(a){a=a|0;var b=0,c=0;k[a>>2]=35688;b=k[a+4584>>2]|0;if(b){c=a+4588|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=3;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e;Oi(h,255,0);g=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[h+8>>2]|0:f;d=k[b+12>>2]|0;d=(d|0)==0?k[h+12>>2]|0:d;b=k[b+16>>2]|0;c=k[h+16>>2]|0;k[a+152>>2]=(g|0)==0?k[h+4>>2]|0:g;k[a+156>>2]=f;k[a+160>>2]=d;ni(a);d=0;do{k[a+164+(d*12|0)>>2]=4;k[a+164+(d*12|0)+4>>2]=0;j[a+164+(d*12|0)+8>>1]=0;j[a+164+(d*12|0)+10>>1]=1;d=d+1|0}while((d|0)!=365);h=((b|0)==0?c:b)&255;k[a+4544>>2]=4;k[a+4548>>2]=0;i[a+4552>>0]=h;i[a+4553>>0]=1;i[a+4554>>0]=0;k[a+4556>>2]=4;k[a+4560>>2]=1;i[a+4564>>0]=h;i[a+4565>>0]=1;i[a+4566>>0]=0;k[a+4568>>2]=0;r=e;return}function gi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4596>>0]=e&1;b=a+132|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);hi(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function hi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;v=a+148|0;w=(k[v>>2]|0)+4|0;if((k[a+28>>2]|0)==1)y=k[a+20>>2]|0;else y=1;b=ia(y<<1,w)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;a:do if(b){if(!(b>>>0>1431655765?(x=0,qa(178,C|0),B=x,x=0,B&1):0))f=6;if((f|0)==6?(x=0,c=ta(67,b*3|0)|0,B=x,x=0,!(B&1)):0){k[D>>2]=c;k[C>>2]=c;k[C+8>>2]=c+(b*3|0);while(1){i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;c=(k[D>>2]|0)+3|0;k[D>>2]=c;b=b+-1|0;if(!b)break a}}d=Wa()|0;b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!y)f=19;else{if(!(y>>>0>1073741823?(x=0,qa(178,z|0),u=x,x=0,u&1):0))f=17;if((f|0)==17?(d=y<<2,x=0,e=ta(67,d|0)|0,u=x,x=0,!(u&1)):0){k[z>>2]=e;f=e+(y<<2)|0;k[z+8>>2]=f;sw(e|0,0,d|0)|0;k[B>>2]=f;f=19;break}d=Wa()|0;b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}while(0);if((f|0)==19){f=a+8|0;b:do if((k[f>>2]|0)>0){g=a+4572|0;h=ia(y,w)|0;j=h+1|0;l=a+4576|0;m=(y|0)>0;n=a+136|0;o=a+144|0;p=a+140|0;q=a+132|0;s=a+88|0;t=a+4568|0;u=0;c:while(1){d=k[C>>2]|0;c=d+3|0;k[g>>2]=c;d=d+(j*3|0)|0;k[l>>2]=d;if(!(u&1))b=d;else{k[g>>2]=d;k[l>>2]=c;b=c;c=d}if(m){e=k[z>>2]|0;d=0;do{k[t>>2]=k[e+(d<<2)>>2];b=k[v>>2]|0;e=c+(b*3|0)|0;c=c+((b+-1|0)*3|0)|0;i[e>>0]=i[c>>0]|0;i[e+1>>0]=i[c+1>>0]|0;i[e+2>>0]=i[c+2>>0]|0;c=k[g>>2]|0;e=(k[l>>2]|0)+-3|0;i[e>>0]=i[c>>0]|0;i[e+1>>0]=i[c+1>>0]|0;i[e+2>>0]=i[c+2>>0]|0;x=0;ra(82,a|0,0);e=x;x=0;if(e&1){f=30;break c}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[t>>2];c=(k[g>>2]|0)+(w*3|0)|0;k[g>>2]=c;b=(k[l>>2]|0)+(w*3|0)|0;k[l>>2]=b;d=d+1|0}while((d|0)<(y|0))}e=k[n>>2]|0;if(((e|0)<=(u|0)?(u|0)<((k[o>>2]|0)+e|0):0)?(e=k[s>>2]|0,x=0,Ja(k[(k[e>>2]|0)+8>>2]|0,e|0,b+(((k[q>>2]|0)-h|0)*3|0)|0,k[p>>2]|0,w|0),e=x,x=0,e&1):0){f=31;break}u=u+1|0;if((u|0)>=(k[f>>2]|0)){f=43;break b}}if((f|0)==30){d=Wa()|0;break}else if((f|0)==31){d=Wa()|0;break}}else f=43;while(0);do if((f|0)==43){x=0;qa(183,a|0);a=x;x=0;if(a&1){d=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);r=A;return}while(0);b=k[z>>2]|0;c=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-c|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(d|0);c=k[D>>2]|0;if((c|0)!=(b|0))k[D>>2]=c+(~(((c+-3-b|0)>>>0)/3|0)*3|0);mj(b);fb(d|0)}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=a+148|0;if((k[A>>2]|0)<=0)return;B=a+4576|0;C=a+4572|0;D=a+4580|0;z=0;while(1){w=z+-1|0;f=k[B>>2]|0;g=k[C>>2]|0;b=z+1|0;e=l[g+(z*3|0)>>0]|0;y=k[D>>2]|0;h=l[g+(w*3|0)>>0]|0;j=e-h|0;m=l[f+(w*3|0)>>0]|0;n=h-m|0;o=((((i[y+((l[g+(b*3|0)>>0]|0)-e)>>0]|0)*9|0)+(i[y+j>>0]|0)|0)*9|0)+(i[y+n>>0]|0)|0;d=l[g+(z*3|0)+1>>0]|0;p=l[g+(w*3|0)+1>>0]|0;q=d-p|0;r=l[f+(w*3|0)+1>>0]|0;s=p-r|0;t=((((i[y+((l[g+(b*3|0)+1>>0]|0)-d)>>0]|0)*9|0)+(i[y+q>>0]|0)|0)*9|0)+(i[y+s>>0]|0)|0;c=l[g+(z*3|0)+2>>0]|0;u=l[g+(w*3|0)+2>>0]|0;v=c-u|0;w=l[f+(w*3|0)+2>>0]|0;x=u-w|0;y=((((i[y+((l[g+(b*3|0)+2>>0]|0)-c)>>0]|0)*9|0)+(i[y+v>>0]|0)|0)*9|0)+(i[y+x>>0]|0)|0;if(!(t|o|y))b=(ji(a,z,0)|0)+z|0;else{g=l[f+(z*3|0)>>0]|0;f=e-m>>31;if((f^n|0)>=0)if((f^j|0)<0)e=m;else e=m-h+e|0;g=ki(a,o,g,e,0)|0;f=l[(k[B>>2]|0)+(z*3|0)+1>>0]|0;e=d-r>>31;if((e^s|0)>=0)if((e^q|0)<0)d=r;else d=r-p+d|0;e=ki(a,t,f,d,0)|0;f=l[(k[B>>2]|0)+(z*3|0)+2>>0]|0;d=c-w>>31;if((d^x|0)>=0)if((d^v|0)<0)c=w;else c=w-u+c|0;y=ki(a,y,f,c,0)|0;z=(k[B>>2]|0)+(z*3|0)|0;i[z>>0]=g;i[z+1>>0]=e;i[z+2>>0]=y}if((b|0)<(k[A>>2]|0))z=b;else break}return}function ji(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;j=r;r=r+16|0;m=j+3|0;n=j;f=a+4576|0;c=k[f>>2]|0;d=c+((b+-1|0)*3|0)|0;g=i[d>>0]|0;h=i[d+1>>0]|0;d=i[d+2>>0]|0;i[n>>0]=g;i[n+1>>0]=h;i[n+2>>0]=d;l=a+148|0;e=(k[l>>2]|0)-b|0;i[m>>0]=i[n>>0]|0;i[m+1>>0]=i[n+1>>0]|0;i[m+2>>0]=i[n+2>>0]|0;e=li(a,m,c+(b*3|0)|0,e)|0;c=e+b|0;if((c|0)==(k[l>>2]|0)){n=e;r=j;return n|0}m=(k[a+4572>>2]|0)+(c*3|0)|0;b=i[m>>0]|0;l=i[m+1>>0]|0;m=i[m+2>>0]|0;n=k[f>>2]|0;f=a+4544|0;p=mi(a,f)|0;o=mi(a,f)|0;b=b&255;b=(ia(b-(g&255)>>31|1,p)|0)+b&255;l=l&255;l=(ia(l-(h&255)>>31|1,o)|0)+l&255;m=m&255;m=(ia(m-(d&255)>>31|1,mi(a,f)|0)|0)+m&255;n=n+(c*3|0)|0;i[n>>0]=b;i[n+1>>0]=l;i[n+2>>0]=m;n=a+4568|0;m=k[n>>2]|0;k[n>>2]=(m|0)<1?0:m+-1|0;n=e+1|0;r=j;return n|0}function ki(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>31;m=(q^b)-q|0;p=a+164+(m*12|0)+10|0;c=j[p>>1]|0;o=a+164+(m*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){f=5;while(1)if((c<>1]^q)-q+d|0;if((c&255|0)!=(c|0))c=c>>31&255^255;e=a+112|0;if((k[e>>2]|0)<8)qe(a);d=a+108|0;g=k[d>>2]|0;h=g>>>24;l=k[2832+(f<<11)+(h<<3)+4>>2]|0;if(!l){e=Tg(a)|0;if((e|0)<23){if(f)e=(Ug(a,f)|0)+(e<>31^e>>1;if((((e|0)>-1?e:0-e|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);b=x;x=0;if(b&1){b=Wa()|0;Ua(c|0);fb(b|0)}else ub(c|0,824,96)}}else{k[e>>2]=(k[e>>2]|0)-l;k[d>>2]=g<>2]|0}l=a+164+(m*12|0)+4|0;d=k[l>>2]|0;if(!f){a=j[p>>1]|0;f=a;e=(d<<1)+-1+(a<<16>>16)>>31^e}else f=j[p>>1]|0;g=f<<16>>16==64;a=g&1;h=d+e>>a;g=g?32:f<<16>>16;k[o>>2]=((e|0)>-1?e:0-e|0)+(k[o>>2]|0)>>a;d=g+1|0;j[p>>1]=d;f=d+h|0;if((f|0)<1){p=j[n>>1]|0;j[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(f|0)>(~g|0)?f:0-g|0;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&255;return b|0}if((h|0)<=0){p=h;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&255;return b|0}p=h-d|0;o=j[n>>1]|0;j[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;k[l>>2]=p;q=e^q;b=b>>>31;b=c+b|0;b=b+q|0;b=b&255;return b|0}function li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;h=a+112|0;j=a+108|0;l=a+4568|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[j>>2]|0;e=e+-1|0;k[h>>2]=e;k[j>>2]=g<<1;if((g|0)>=0){m=8;break}g=k[l>>2]|0;n=1<>2];o=d-f|0;o=(n|0)<(o|0)?n:o;f=o+f|0;if((o|0)==(n|0))k[l>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((m|0)==8)if((f|0)!=(d|0)){e=k[l>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);o=x;x=0;if(o&1){o=Wa()|0;Ua(e|0);fb(o|0)}else ub(e|0,824,96)}}else e=d;if((e|0)<=0)return e|0;f=0;do{o=c+(f*3|0)|0;i[o>>0]=i[b>>0]|0;i[o+1>>0]=i[b+1>>0]|0;i[o+2>>0]=i[b+2>>0]|0;f=f+1|0}while((f|0)!=(e|0));return e|0}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=b+9|0;c=l[h>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;e=k[36476+(k[a+4568>>2]<<2)>>2]|0;c=Tg(a)|0;do if((c|0)<(22-e|0))if(!d){a=k[f>>2]|0;e=a+c|0;d=e&1;e=(d+e|0)/2|0;g=8;break}else{c=(Ug(a,d)|0)+(c<>2]|0;e=c+a|0;j=e&1;d=j;f=1;e=(j+e|0)/2|0;break}else{c=(Ug(a,8)|0)+1|0;a=k[f>>2]|0;e=c+a|0;f=e&1;e=(f+e|0)/2|0;if(!d){d=f;g=8}else{d=f;f=1}}while(0);if((g|0)==8)f=l[b+10>>0]<<1>>>0>=(l[h>>0]|0)>>>0;e=(d|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(c+1-a>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[h>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){j=d;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[h>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;j=j&255;j=j+1|0;j=j&255;i[h>>0]=j;return e|0}\nfunction Vp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+128|0;f=m;o=m+116|0;p=m+104|0;h=m+20|0;l=m+16|0;j=m+12|0;n=m+8|0;g=m+4|0;i[o>>0]=i[58887]|0;i[o+1>>0]=i[58888]|0;i[o+2>>0]=i[58889]|0;i[o+3>>0]=i[58890]|0;i[o+4>>0]=i[58891]|0;i[o+5>>0]=i[58892]|0;Ep(o+1|0,58893,0,k[c+4>>2]|0);a=fp()|0;k[f>>2]=e;e=p+(av(p,12,a,o,f)|0)|0;o=Fp(p,e,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(3,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=Wa()|0;zm(a)|0;fb(p|0)}else{zm(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=cv(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Wp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+240|0;g=m+8|0;a=m;o=m+204|0;i=m+32|0;l=m+28|0;j=m+24|0;n=m+20|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;Ep(a+1|0,58895,0,k[c+4>>2]|0);p=fp()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(av(o,23,p,a,g)|0)|0;e=Fp(o,f,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(3,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=Wa()|0;zm(a)|0;fb(q|0)}else{zm(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=cv(g,i,p,q,c,d)|0;r=m;return q|0}return 0}function Xp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+352|0;t=z+312|0;n=z+48|0;m=z+32|0;i=z+24|0;f=z+8|0;l=z;q=z+316|0;s=z+80|0;h=z+84|0;y=z+76|0;w=z+72|0;u=z+68|0;v=z+64|0;j=l;k[j>>2]=37;k[j+4>>2]=0;j=Lp(l+1|0,58898,k[c+4>>2]|0)|0;k[s>>2]=q;a=fp()|0;if(j){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;f=av(q,30,a,l,f)|0}else{p[i>>3]=e;f=av(q,30,a,l,i)|0}a:do if((f|0)>29){x=0;a=Da(3)|0;f=x;x=0;f=f&1;if(j){if(!f?(x=0,k[m>>2]=k[c+8>>2],p[m+8>>3]=e,g=Ea(17,s|0,a|0,l|0,m|0)|0,o=x,x=0,!(o&1)):0)A=12}else if(!f?(x=0,k[n>>2]=k[c+8>>2],p[n+8>>3]=e,o=Ea(17,s|0,a|0,l|0,n|0)|0,n=x,x=0,!(n&1)):0){g=o;A=12}do if((A|0)==12){a=k[s>>2]|0;if(!a){x=0;Ga(6);o=x;x=0;if(o&1)break;f=k[s>>2]|0}else f=a;a=f;l=f;A=16;break a}while(0);a=Wa()|0}else{a=k[s>>2]|0;l=0;g=f;A=16}while(0);if((A|0)==16){i=a+g|0;j=Fp(a,i,c)|0;do if((a|0)==(q|0)){a=q;f=0;A=22}else{g=Pl(g<<3)|0;if(!g){x=0;Ga(6);A=x;x=0;if(A&1){f=0;A=20;break}a=k[s>>2]|0}f=g;h=g;A=22}while(0);do if((A|0)==22){x=0;g=ta(68,c|0)|0;s=x;x=0;if(!(s&1)){k[u>>2]=g;x=0;ya(4,a|0,j|0,i|0,h|0,y|0,w|0,u|0);u=x;x=0;if(u&1){a=Wa()|0;zm(g)|0;break}zm(g)|0;k[v>>2]=k[b>>2];A=k[y>>2]|0;a=k[w>>2]|0;x=0;k[t>>2]=k[v>>2];a=sa(40,t|0,h|0,A|0,a|0,c|0,d|0)|0;A=x;x=0;if(!(A&1)){k[b>>2]=a;if(f)Ql(f);if(l)Ql(l);r=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Wa()|0;if(f)Ql(f);if(l)Ql(l)}fb(a|0);return 0}function Yp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;y=r;r=r+16|0;z=y;w=Ss(g,44212)|0;u=Ss(g,44368)|0;Mb[k[(k[u>>2]|0)+20>>2]&127](z,u);k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Aa(k[(k[w>>2]|0)+44>>2]|0,w|0,g|0)|0;v=x;x=0;if(v&1)t=8;else{l=k[f>>2]|0;k[f>>2]=l+4;k[l>>2]=g;l=a+1|0;t=10}break}default:{l=a;t=10}}a:do if((t|0)==10){v=c;b:do if((v-l|0)>1?(i[l>>0]|0)==48:0){h=l+1|0;switch(i[h>>0]|0){case 88:case 120:break;default:{t=11;break b}}x=0;g=Aa(k[(k[w>>2]|0)+44>>2]|0,w|0,48)|0;s=x;x=0;if(s&1){t=8;break a}s=k[f>>2]|0;k[f>>2]=s+4;k[s>>2]=g;l=l+2|0;x=0;g=Aa(k[(k[w>>2]|0)+44>>2]|0,w|0,i[h>>0]|0)|0;s=x;x=0;if(s&1){t=8;break a}s=k[f>>2]|0;k[f>>2]=s+4;k[s>>2]=g;if(l>>>0>>0){g=l;while(1){h=i[g>>0]|0;x=0;j=Da(3)|0;s=x;x=0;if(s&1)break;x=0;h=Aa(39,h<<24>>24|0,j|0)|0;s=x;x=0;if(s&1)break;if(!h){s=l;break b}g=g+1|0;if(g>>>0>=c>>>0){s=l;break b}}g=Wa()|0;break a}else{s=l;g=l}}else t=11;while(0);c:do if((t|0)==11)if(l>>>0>>0){g=l;while(1){h=i[g>>0]|0;x=0;j=Da(3)|0;s=x;x=0;if(s&1)break;x=0;h=Aa(40,h<<24>>24|0,j|0)|0;s=x;x=0;if(s&1)break;if(!h){s=l;break c}g=g+1|0;if(g>>>0>=c>>>0){s=l;break c}}g=Wa()|0;break a}else{s=l;g=l}while(0);p=i[z>>0]|0;q=z+4|0;if(((p&1)==0?(p&255)>>>1:k[q>>2]|0)|0){if((s|0)!=(g|0)?(m=g+-1|0,s>>>0>>0):0){j=s;h=m;do{p=i[j>>0]|0;i[j>>0]=i[h>>0]|0;i[h>>0]=p;j=j+1|0;h=h+-1|0}while(j>>>0>>0)}x=0;m=ta(k[(k[u>>2]|0)+16>>2]|0,u|0)|0;p=x;x=0;if(p&1){t=8;break}n=z+8|0;o=z+1|0;d:do if(s>>>0>>0){h=0;j=0;p=s;while(1){l=i[((i[z>>0]&1)==0?o:k[n>>2]|0)+j>>0]|0;if(l<<24>>24>0&(h|0)==(l<<24>>24|0)){h=k[f>>2]|0;k[f>>2]=h+4;k[h>>2]=m;h=i[z>>0]|0;l=0;j=(j>>>0<(((h&1)==0?(h&255)>>>1:k[q>>2]|0)+-1|0)>>>0&1)+j|0}else l=h;x=0;h=Aa(k[(k[w>>2]|0)+44>>2]|0,w|0,i[p>>0]|0)|0;A=x;x=0;if(A&1)break;A=k[f>>2]|0;k[f>>2]=A+4;k[A>>2]=h;p=p+1|0;if(p>>>0>=g>>>0)break d;else h=l+1|0}g=Wa()|0;break a}while(0);h=d+(s-a<<2)|0;l=k[f>>2]|0;if((h|0)!=(l|0)){j=l+-4|0;if(h>>>0>>0){do{A=k[h>>2]|0;k[h>>2]=k[j>>2];k[j>>2]=A;h=h+4|0;j=j+-4|0}while(h>>>0>>0);m=w;h=l}else{m=w;h=l}}else m=w}else{x=0;Ea(k[(k[w>>2]|0)+48>>2]|0,w|0,s|0,g|0,k[f>>2]|0)|0;A=x;x=0;if(A&1){t=8;break}h=(k[f>>2]|0)+(g-s<<2)|0;k[f>>2]=h;m=w}e:do if(g>>>0>>0){while(1){h=i[g>>0]|0;if(h<<24>>24==46){j=g;break}x=0;j=Aa(k[(k[m>>2]|0)+44>>2]|0,w|0,h|0)|0;A=x;x=0;if(A&1){t=4;break}A=k[f>>2]|0;h=A+4|0;k[f>>2]=h;k[A>>2]=j;g=g+1|0;if(g>>>0>=c>>>0)break e}if((t|0)==4){g=Wa()|0;break a}x=0;g=ta(k[(k[u>>2]|0)+12>>2]|0,u|0)|0;A=x;x=0;if(A&1){t=8;break a}A=k[f>>2]|0;h=A+4|0;k[f>>2]=h;k[A>>2]=g;g=j+1|0}while(0);x=0;Ea(k[(k[w>>2]|0)+48>>2]|0,w|0,g|0,c|0,h|0)|0;A=x;x=0;if(A&1)t=8;else{A=(k[f>>2]|0)+(v-g<<2)|0;k[f>>2]=A;k[e>>2]=(b|0)==(c|0)?A:d+(b-a<<2)|0;Sm(z);r=y;return}}while(0);if((t|0)==8)g=Wa()|0;Sm(z);fb(g|0)}function Zp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+352|0;t=z+304|0;n=z+48|0;m=z+32|0;i=z+24|0;f=z+8|0;l=z;q=z+308|0;s=z+72|0;h=z+76|0;y=z+68|0;w=z+64|0;u=z+60|0;v=z+56|0;j=l;k[j>>2]=37;k[j+4>>2]=0;j=Lp(l+1|0,58899,k[c+4>>2]|0)|0;k[s>>2]=q;a=fp()|0;if(j){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;f=av(q,30,a,l,f)|0}else{p[i>>3]=e;f=av(q,30,a,l,i)|0}a:do if((f|0)>29){x=0;a=Da(3)|0;f=x;x=0;f=f&1;if(j){if(!f?(x=0,k[m>>2]=k[c+8>>2],p[m+8>>3]=e,g=Ea(17,s|0,a|0,l|0,m|0)|0,o=x,x=0,!(o&1)):0)A=12}else if(!f?(x=0,p[n>>3]=e,o=Ea(17,s|0,a|0,l|0,n|0)|0,n=x,x=0,!(n&1)):0){g=o;A=12}do if((A|0)==12){a=k[s>>2]|0;if(!a){x=0;Ga(6);o=x;x=0;if(o&1)break;f=k[s>>2]|0}else f=a;a=f;l=f;A=16;break a}while(0);a=Wa()|0}else{a=k[s>>2]|0;l=0;g=f;A=16}while(0);if((A|0)==16){i=a+g|0;j=Fp(a,i,c)|0;do if((a|0)==(q|0)){a=q;f=0;A=22}else{g=Pl(g<<3)|0;if(!g){x=0;Ga(6);A=x;x=0;if(A&1){f=0;A=20;break}a=k[s>>2]|0}f=g;h=g;A=22}while(0);do if((A|0)==22){x=0;g=ta(68,c|0)|0;s=x;x=0;if(!(s&1)){k[u>>2]=g;x=0;ya(4,a|0,j|0,i|0,h|0,y|0,w|0,u|0);u=x;x=0;if(u&1){a=Wa()|0;zm(g)|0;break}zm(g)|0;k[v>>2]=k[b>>2];A=k[y>>2]|0;a=k[w>>2]|0;x=0;k[t>>2]=k[v>>2];a=sa(40,t|0,h|0,A|0,a|0,c|0,d|0)|0;A=x;x=0;if(!(A&1)){k[b>>2]=a;if(f)Ql(f);if(l)Ql(l);r=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Wa()|0;if(f)Ql(f);if(l)Ql(l)}fb(a|0);return 0}function _p(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+192|0;j=o;a=o+180|0;m=o+160|0;n=o+12|0;h=o+8|0;l=o+4|0;i[a>>0]=i[58901]|0;i[a+1>>0]=i[58902]|0;i[a+2>>0]=i[58903]|0;i[a+3>>0]=i[58904]|0;i[a+4>>0]=i[58905]|0;i[a+5>>0]=i[58906]|0;f=fp()|0;k[j>>2]=e;a=av(m,20,f,a,j)|0;e=m+a|0;f=Fp(m,e,c)|0;g=tn(c)|0;k[h>>2]=g;x=0;h=Aa(37,h|0,44212)|0;p=x;x=0;if(p&1){p=Wa()|0;zm(g)|0;fb(p|0)}else{zm(g)|0;Zb[k[(k[h>>2]|0)+48>>2]&31](h,m,e,n)|0;p=n+(a<<2)|0;k[l>>2]=k[b>>2];k[j>>2]=k[l>>2];p=cv(j,n,(f|0)==(e|0)?p:n+(f-m<<2)|0,p,c,d)|0;r=o;return p|0}return 0}function $p(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+32|0;v=C+16|0;u=C+12|0;z=C+8|0;w=C+4|0;y=C;m=tn(d)|0;k[z>>2]=m;x=0;z=Aa(37,z|0,44220)|0;t=x;x=0;if(t&1){C=Wa()|0;zm(m)|0;fb(C|0)}zm(m)|0;k[e>>2]=0;t=z+8|0;m=k[b>>2]|0;a:do if((g|0)!=(h|0)){b:while(1){n=m;if(m){if((k[m+12>>2]|0)==(k[m+16>>2]|0)?(Ob[k[(k[m>>2]|0)+36>>2]&127](m)|0)==-1:0){k[b>>2]=0;m=0;n=0}}else m=0;q=(m|0)==0;p=k[c>>2]|0;o=p;do if(p){if((k[p+12>>2]|0)==(k[p+16>>2]|0)?(Ob[k[(k[p>>2]|0)+36>>2]&127](p)|0)==-1:0){k[c>>2]=0;o=0;B=12;break}if(!q){B=13;break b}}else B=12;while(0);if((B|0)==12){B=0;if(q){B=13;break}else p=0}c:do if((Qb[k[(k[z>>2]|0)+36>>2]&63](z,i[g>>0]|0,0)|0)<<24>>24==37){p=g+1|0;if((p|0)==(h|0)){B=17;break b}s=Qb[k[(k[z>>2]|0)+36>>2]&63](z,i[p>>0]|0,0)|0;switch(s<<24>>24){case 48:case 69:{q=g+2|0;if((q|0)==(h|0)){B=20;break b}g=p;p=Qb[k[(k[z>>2]|0)+36>>2]&63](z,i[q>>0]|0,0)|0;m=s;break}default:{p=s;m=0}}s=k[(k[a>>2]|0)+36>>2]|0;k[w>>2]=n;k[y>>2]=o;k[u>>2]=k[w>>2];k[v>>2]=k[y>>2];s=ac[s&15](a,u,v,d,e,f,p,m)|0;k[b>>2]=s;g=g+2|0}else{n=i[g>>0]|0;if(n<<24>>24>-1?(A=k[t>>2]|0,(j[A+(n<<24>>24<<1)>>1]&8192)!=0):0){do{g=g+1|0;if((g|0)==(h|0)){g=h;break}n=i[g>>0]|0;if(n<<24>>24<=-1)break}while((j[A+(n<<24>>24<<1)>>1]&8192)!=0);n=p;while(1){if(m){if((k[m+12>>2]|0)==(k[m+16>>2]|0)?(Ob[k[(k[m>>2]|0)+36>>2]&127](m)|0)==-1:0){k[b>>2]=0;m=0}}else m=0;o=(m|0)==0;do if(p){if((k[p+12>>2]|0)!=(k[p+16>>2]|0))if(o){s=n;break}else break c;if((Ob[k[(k[p>>2]|0)+36>>2]&127](p)|0)!=-1)if(o^(n|0)==0){s=n;p=n;break}else break c;else{k[c>>2]=0;n=0;B=39;break}}else B=39;while(0);if((B|0)==39){B=0;if(o)break c;else{s=n;p=0}}o=m+12|0;n=k[o>>2]|0;q=m+16|0;if((n|0)==(k[q>>2]|0))n=Ob[k[(k[m>>2]|0)+36>>2]&127](m)|0;else n=l[n>>0]|0;if((n&255)<<24>>24<=-1)break c;if(!(j[(k[t>>2]|0)+(n<<24>>24<<1)>>1]&8192))break c;n=k[o>>2]|0;if((n|0)==(k[q>>2]|0)){Ob[k[(k[m>>2]|0)+40>>2]&127](m)|0;n=s;continue}else{k[o>>2]=n+1;n=s;continue}}}o=m+12|0;n=k[o>>2]|0;p=m+16|0;if((n|0)==(k[p>>2]|0))n=Ob[k[(k[m>>2]|0)+36>>2]&127](m)|0;else n=l[n>>0]|0;s=Vb[k[(k[z>>2]|0)+12>>2]&63](z,n&255)|0;if(s<<24>>24!=(Vb[k[(k[z>>2]|0)+12>>2]&63](z,i[g>>0]|0)|0)<<24>>24){B=57;break b}n=k[o>>2]|0;if((n|0)==(k[p>>2]|0))Ob[k[(k[m>>2]|0)+40>>2]&127](m)|0;else k[o>>2]=n+1;g=g+1|0}while(0);m=k[b>>2]|0;if(!((g|0)!=(h|0)&(k[e>>2]|0)==0))break a}if((B|0)==13){k[e>>2]=4;break}else if((B|0)==17){k[e>>2]=4;break}else if((B|0)==20){k[e>>2]=4;break}else if((B|0)==57){k[e>>2]=4;m=k[b>>2]|0;break}}while(0);if(m){if((k[m+12>>2]|0)==(k[m+16>>2]|0)?(Ob[k[(k[m>>2]|0)+36>>2]&127](m)|0)==-1:0){k[b>>2]=0;m=0}}else m=0;g=(m|0)==0;n=k[c>>2]|0;do if(n){if((k[n+12>>2]|0)==(k[n+16>>2]|0)?(Ob[k[(k[n>>2]|0)+36>>2]&127](n)|0)==-1:0){k[c>>2]=0;B=67;break}if(!g)B=68}else B=67;while(0);if((B|0)==67?g:0)B=68;if((B|0)==68)k[e>>2]=k[e>>2]|2;r=C;return m|0}function aq(a){a=a|0;return}function bq(a){a=a|0;mj(a);return}function cq(a){a=a|0;return 2}function dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=$p(a,i,h,d,e,f,58907,58915)|0;r=g;return a|0}function eq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;g=r;r=r+16|0;h=g+12|0;j=g+8|0;m=g+4|0;l=g;n=a+8|0;n=Ob[k[(k[n>>2]|0)+20>>2]&127](n)|0;k[m>>2]=k[b>>2];k[l>>2]=k[c>>2];c=i[n>>0]|0;o=(c&1)==0;b=o?n+1|0:k[n+8>>2]|0;c=b+(o?(c&255)>>>1:k[n+4>>2]|0)|0;k[j>>2]=k[m>>2];k[h>>2]=k[l>>2];a=$p(a,j,h,d,e,f,b,c)|0;r=g;return a|0}function fq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=tn(d)|0;k[g>>2]=d;x=0;g=Aa(37,g|0,44220)|0;l=x;x=0;if(l&1){l=Wa()|0;zm(d)|0;fb(l|0)}else{zm(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];gq(a,f+24|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function gq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=Ob[k[k[a>>2]>>2]&127](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Hu(c,h,a,a+168|0,f,e,0)|0)-a|0;if((c|0)<168)k[b>>2]=((c|0)/12|0|0)%7|0;r=g;return}function hq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=tn(d)|0;k[g>>2]=d;x=0;g=Aa(37,g|0,44220)|0;l=x;x=0;if(l&1){l=Wa()|0;zm(d)|0;fb(l|0)}else{zm(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];iq(a,f+16|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function iq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=Ob[k[(k[a>>2]|0)+4>>2]&127](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Hu(c,h,a,a+288|0,f,e,0)|0)-a|0;if((c|0)<288)k[b>>2]=((c|0)/12|0|0)%12|0;r=g;return}function jq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=tn(d)|0;k[g>>2]=d;x=0;g=Aa(37,g|0,44220)|0;l=x;x=0;if(l&1){l=Wa()|0;zm(d)|0;fb(l|0)}else{zm(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];kq(a,f+20|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function kq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,4)|0;if(!(k[e>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;k[b>>2]=a+-1900}r=g;return}function lq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=r;r=r+144|0;j=U+132|0;h=U+116|0;N=U+128|0;w=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;l=U+88|0;m=U+84|0;n=U+80|0;o=U+76|0;p=U+72|0;q=U+68|0;s=U+64|0;t=U+60|0;u=U+56|0;v=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;k[e>>2]=0;M=tn(d)|0;k[N>>2]=M;x=0;N=Aa(37,N|0,44220)|0;W=x;x=0;if(W&1){W=Wa()|0;zm(M)|0;fb(W|0)}zm(M)|0;do switch(g<<24>>24|0){case 65:case 97:{k[w>>2]=k[c>>2];k[j>>2]=k[w>>2];gq(a,f+24|0,b,j,e,N);V=28;break}case 104:case 66:case 98:{k[I>>2]=k[c>>2];k[j>>2]=k[I>>2];iq(a,f+16|0,b,j,e,N);V=28;break}case 99:{V=a+8|0;V=Ob[k[(k[V>>2]|0)+12>>2]&127](V)|0;k[O>>2]=k[b>>2];k[P>>2]=k[c>>2];g=i[V>>0]|0;c=(g&1)==0;W=c?V+1|0:k[V+8>>2]|0;V=W+(c?(g&255)>>>1:k[V+4>>2]|0)|0;k[h>>2]=k[O>>2];k[j>>2]=k[P>>2];V=$p(a,h,j,d,e,f,W,V)|0;k[b>>2]=V;V=28;break}case 101:case 100:{k[Q>>2]=k[c>>2];k[j>>2]=k[Q>>2];mq(a,f+12|0,b,j,e,N);V=28;break}case 68:{k[R>>2]=k[b>>2];k[S>>2]=k[c>>2];k[h>>2]=k[R>>2];k[j>>2]=k[S>>2];V=$p(a,h,j,d,e,f,58915,58923)|0;k[b>>2]=V;V=28;break}case 70:{k[T>>2]=k[b>>2];k[l>>2]=k[c>>2];k[h>>2]=k[T>>2];k[j>>2]=k[l>>2];V=$p(a,h,j,d,e,f,58923,58931)|0;k[b>>2]=V;V=28;break}case 72:{k[m>>2]=k[c>>2];k[j>>2]=k[m>>2];nq(a,f+8|0,b,j,e,N);V=28;break}case 73:{k[n>>2]=k[c>>2];k[j>>2]=k[n>>2];oq(a,f+8|0,b,j,e,N);V=28;break}case 106:{k[o>>2]=k[c>>2];k[j>>2]=k[o>>2];pq(a,f+28|0,b,j,e,N);V=28;break}case 109:{k[p>>2]=k[c>>2];k[j>>2]=k[p>>2];qq(a,f+16|0,b,j,e,N);V=28;break}case 77:{k[q>>2]=k[c>>2];k[j>>2]=k[q>>2];rq(a,f+4|0,b,j,e,N);V=28;break}case 116:case 110:{k[s>>2]=k[c>>2];k[j>>2]=k[s>>2];sq(a,b,j,e,N);V=28;break}case 112:{k[t>>2]=k[c>>2];k[j>>2]=k[t>>2];tq(a,f+8|0,b,j,e,N);V=28;break}case 114:{k[u>>2]=k[b>>2];k[v>>2]=k[c>>2];k[h>>2]=k[u>>2];k[j>>2]=k[v>>2];V=$p(a,h,j,d,e,f,58931,58942)|0;k[b>>2]=V;V=28;break}case 82:{k[y>>2]=k[b>>2];k[z>>2]=k[c>>2];k[h>>2]=k[y>>2];k[j>>2]=k[z>>2];V=$p(a,h,j,d,e,f,58942,58947)|0;k[b>>2]=V;V=28;break}case 83:{k[A>>2]=k[c>>2];k[j>>2]=k[A>>2];uq(a,f,b,j,e,N);V=28;break}case 84:{k[B>>2]=k[b>>2];k[C>>2]=k[c>>2];k[h>>2]=k[B>>2];k[j>>2]=k[C>>2];V=$p(a,h,j,d,e,f,58947,58955)|0;k[b>>2]=V;V=28;break}case 119:{k[D>>2]=k[c>>2];k[j>>2]=k[D>>2];vq(a,f+24|0,b,j,e,N);V=28;break}case 120:{W=k[(k[a>>2]|0)+20>>2]|0;k[E>>2]=k[b>>2];k[F>>2]=k[c>>2];k[h>>2]=k[E>>2];k[j>>2]=k[F>>2];h=Nb[W&63](a,h,j,d,e,f)|0;break}case 88:{V=a+8|0;V=Ob[k[(k[V>>2]|0)+24>>2]&127](V)|0;k[G>>2]=k[b>>2];k[H>>2]=k[c>>2];g=i[V>>0]|0;c=(g&1)==0;W=c?V+1|0:k[V+8>>2]|0;V=W+(c?(g&255)>>>1:k[V+4>>2]|0)|0;k[h>>2]=k[G>>2];k[j>>2]=k[H>>2];V=$p(a,h,j,d,e,f,W,V)|0;k[b>>2]=V;V=28;break}case 121:{k[J>>2]=k[c>>2];k[j>>2]=k[J>>2];kq(a,f+20|0,b,j,e,N);V=28;break}case 89:{k[K>>2]=k[c>>2];k[j>>2]=k[K>>2];wq(a,f+20|0,b,j,e,N);V=28;break}case 37:{k[L>>2]=k[c>>2];k[j>>2]=k[L>>2];xq(a,b,j,e,N);V=28;break}default:{k[e>>2]=k[e>>2]|4;V=28}}while(0);if((V|0)==28)h=k[b>>2]|0;r=U;return h|0}function mq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<31&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function nq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<24&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function oq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<12&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function pq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,3)|0;c=k[e>>2]|0;if((a|0)<366&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function qq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<13&(c&4|0)==0)k[b>>2]=a+-1;else k[e>>2]=c|4;r=g;return}function rq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<60&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=e+8|0;a:while(1){e=k[b>>2]|0;do if(e){if((k[e+12>>2]|0)==(k[e+16>>2]|0))if((Ob[k[(k[e>>2]|0)+36>>2]&127](e)|0)==-1){k[b>>2]=0;e=0;break}else{e=k[b>>2]|0;break}}else e=0;while(0);e=(e|0)==0;a=k[c>>2]|0;do if(a){if((k[a+12>>2]|0)!=(k[a+16>>2]|0))if(e)break;else break a;if((Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(e)break;else break a;else{k[c>>2]=0;h=12;break}}else h=12;while(0);if((h|0)==12){h=0;if(e){a=0;break}else a=0}e=k[b>>2]|0;f=k[e+12>>2]|0;if((f|0)==(k[e+16>>2]|0))e=Ob[k[(k[e>>2]|0)+36>>2]&127](e)|0;else e=l[f>>0]|0;if((e&255)<<24>>24<=-1)break;if(!(j[(k[g>>2]|0)+(e<<24>>24<<1)>>1]&8192))break;e=k[b>>2]|0;a=e+12|0;f=k[a>>2]|0;if((f|0)==(k[e+16>>2]|0)){Ob[k[(k[e>>2]|0)+40>>2]&127](e)|0;continue}else{k[a>>2]=f+1;continue}}e=k[b>>2]|0;do if(e){if((k[e+12>>2]|0)==(k[e+16>>2]|0))if((Ob[k[(k[e>>2]|0)+36>>2]&127](e)|0)==-1){k[b>>2]=0;e=0;break}else{e=k[b>>2]|0;break}}else e=0;while(0);e=(e|0)==0;do if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)?(Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0)==-1:0){k[c>>2]=0;h=32;break}if(!e)h=33}else h=32;while(0);if((h|0)==32?e:0)h=33;if((h|0)==33)k[d>>2]=k[d>>2]|2;return}function tq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;h=m+4|0;j=m;l=a+8|0;l=Ob[k[(k[l>>2]|0)+8>>2]&127](l)|0;a=i[l>>0]|0;if(!(a&1))g=(a&255)>>>1;else g=k[l+4>>2]|0;a=i[l+12>>0]|0;if(!(a&1))a=(a&255)>>>1;else a=k[l+16>>2]|0;do if((g|0)!=(0-a|0)){k[j>>2]=k[d>>2];k[h>>2]=k[j>>2];a=Hu(c,h,l,l+24|0,f,e,0)|0;g=k[b>>2]|0;if((a|0)==(l|0)&(g|0)==12){k[b>>2]=0;break}if((g|0)<12&(a-l|0)==12)k[b>>2]=g+12}else k[e>>2]=k[e>>2]|4;while(0);r=m;return}function uq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<61&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function vq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,1)|0;c=k[e>>2]|0;if((a|0)<7&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function wq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=dv(c,a,e,f,4)|0;if(!(k[e>>2]&4))k[b>>2]=a+-1900;r=g;return}function xq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=k[b>>2]|0;do if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0))if((Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}}else a=0;while(0);f=(a|0)==0;a=k[c>>2]|0;do if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)?(Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0)==-1:0){k[c>>2]=0;h=11;break}if(f){g=a;h=13}else h=12}else h=11;while(0);if((h|0)==11)if(f)h=12;else{g=0;h=13}a:do if((h|0)==12)k[d>>2]=k[d>>2]|6;else if((h|0)==13){a=k[b>>2]|0;f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;else a=l[f>>0]|0;if((Qb[k[(k[e>>2]|0)+36>>2]&63](e,a&255,0)|0)<<24>>24!=37){k[d>>2]=k[d>>2]|4;break}a=k[b>>2]|0;f=a+12|0;e=k[f>>2]|0;if((e|0)==(k[a+16>>2]|0)){Ob[k[(k[a>>2]|0)+40>>2]&127](a)|0;a=k[b>>2]|0;if(!a)a=0;else h=21}else{k[f>>2]=e+1;h=21}do if((h|0)==21)if((k[a+12>>2]|0)==(k[a+16>>2]|0))if((Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}while(0);a=(a|0)==0;do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0)?(Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0)==-1:0){k[c>>2]=0;h=30;break}if(a)break a}else h=30;while(0);if((h|0)==30?!a:0)break;k[d>>2]=k[d>>2]|2}while(0);return}function yq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+32|0;q=w+16|0;p=w+12|0;u=w+8|0;s=w+4|0;t=w;i=tn(d)|0;k[u>>2]=i;x=0;u=Aa(37,u|0,44212)|0;o=x;x=0;if(o&1){w=Wa()|0;zm(i)|0;fb(w|0)}zm(i)|0;k[e>>2]=0;i=k[b>>2]|0;a:do if((g|0)!=(h|0)){b:while(1){l=i;if(i){j=k[i+12>>2]|0;if((j|0)==(k[i+16>>2]|0))j=Ob[k[(k[i>>2]|0)+36>>2]&127](i)|0;else j=k[j>>2]|0;if((j|0)==-1){k[b>>2]=0;i=0;n=1;o=0}else{n=0;o=l}}else{i=0;n=1;o=l}m=k[c>>2]|0;j=m;do if(m){l=k[m+12>>2]|0;if((l|0)==(k[m+16>>2]|0))l=Ob[k[(k[m>>2]|0)+36>>2]&127](m)|0;else l=k[l>>2]|0;if((l|0)!=-1)if(n)break;else{v=17;break b}else{k[c>>2]=0;j=0;v=15;break}}else v=15;while(0);if((v|0)==15){v=0;if(n){v=17;break}else m=0}c:do if((Qb[k[(k[u>>2]|0)+52>>2]&63](u,k[g>>2]|0,0)|0)<<24>>24==37){l=g+4|0;if((l|0)==(h|0)){v=21;break b}n=Qb[k[(k[u>>2]|0)+52>>2]&63](u,k[l>>2]|0,0)|0;switch(n<<24>>24){case 48:case 69:{m=g+8|0;if((m|0)==(h|0)){v=24;break b}g=l;l=Qb[k[(k[u>>2]|0)+52>>2]&63](u,k[m>>2]|0,0)|0;i=n;break}default:{l=n;i=0}}n=k[(k[a>>2]|0)+36>>2]|0;k[s>>2]=o;k[t>>2]=j;k[p>>2]=k[s>>2];k[q>>2]=k[t>>2];o=ac[n&15](a,p,q,d,e,f,l,i)|0;k[b>>2]=o;g=g+8|0}else{if(!(Qb[k[(k[u>>2]|0)+12>>2]&63](u,8192,k[g>>2]|0)|0)){l=i+12|0;j=k[l>>2]|0;m=i+16|0;if((j|0)==(k[m>>2]|0))j=Ob[k[(k[i>>2]|0)+36>>2]&127](i)|0;else j=k[j>>2]|0;o=Vb[k[(k[u>>2]|0)+28>>2]&63](u,j)|0;if((o|0)!=(Vb[k[(k[u>>2]|0)+28>>2]&63](u,k[g>>2]|0)|0)){v=61;break b}j=k[l>>2]|0;if((j|0)==(k[m>>2]|0))Ob[k[(k[i>>2]|0)+40>>2]&127](i)|0;else k[l>>2]=j+4;g=g+4|0;break}do{g=g+4|0;if((g|0)==(h|0)){g=h;break}}while(Qb[k[(k[u>>2]|0)+12>>2]&63](u,8192,k[g>>2]|0)|0);j=m;n=m;while(1){if(i){l=k[i+12>>2]|0;if((l|0)==(k[i+16>>2]|0))l=Ob[k[(k[i>>2]|0)+36>>2]&127](i)|0;else l=k[l>>2]|0;if((l|0)==-1){k[b>>2]=0;m=1;i=0}else m=0}else{m=1;i=0}do if(n){l=k[n+12>>2]|0;if((l|0)==(k[n+16>>2]|0))l=Ob[k[(k[n>>2]|0)+36>>2]&127](n)|0;else l=k[l>>2]|0;if((l|0)!=-1)if(m^(j|0)==0){o=j;n=j;break}else break c;else{k[c>>2]=0;j=0;v=44;break}}else v=44;while(0);if((v|0)==44){v=0;if(m)break c;else{o=j;n=0}}l=i+12|0;j=k[l>>2]|0;m=i+16|0;if((j|0)==(k[m>>2]|0))j=Ob[k[(k[i>>2]|0)+36>>2]&127](i)|0;else j=k[j>>2]|0;if(!(Qb[k[(k[u>>2]|0)+12>>2]&63](u,8192,j)|0))break c;j=k[l>>2]|0;if((j|0)==(k[m>>2]|0)){Ob[k[(k[i>>2]|0)+40>>2]&127](i)|0;j=o;continue}else{k[l>>2]=j+4;j=o;continue}}}while(0);i=k[b>>2]|0;if(!((g|0)!=(h|0)&(k[e>>2]|0)==0))break a}if((v|0)==17){k[e>>2]=4;break}else if((v|0)==21){k[e>>2]=4;break}else if((v|0)==24){k[e>>2]=4;break}else if((v|0)==61){k[e>>2]=4;i=k[b>>2]|0;break}}while(0);if(i){g=k[i+12>>2]|0;if((g|0)==(k[i+16>>2]|0))g=Ob[k[(k[i>>2]|0)+36>>2]&127](i)|0;else g=k[g>>2]|0;if((g|0)==-1){k[b>>2]=0;i=0;l=1}else l=0}else{i=0;l=1}g=k[c>>2]|0;do if(g){j=k[g+12>>2]|0;if((j|0)==(k[g+16>>2]|0))g=Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0;else g=k[j>>2]|0;if((g|0)!=-1)if(l)break;else{v=76;break}else{k[c>>2]=0;v=74;break}}else v=74;while(0);if((v|0)==74?l:0)v=76;if((v|0)==76)k[e>>2]=k[e>>2]|2;r=w;return i|0}function zq(a){a=a|0;return}function Aq(a){a=a|0;mj(a);return}function Bq(a){a=a|0;return 2}function Cq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=yq(a,i,h,d,e,f,44788,44820)|0;r=g;return a|0}function Dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;g=r;r=r+16|0;h=g+12|0;j=g+8|0;m=g+4|0;l=g;p=a+8|0;p=Ob[k[(k[p>>2]|0)+20>>2]&127](p)|0;k[m>>2]=k[b>>2];k[l>>2]=k[c>>2];n=i[p>>0]|0;o=(n&1)==0;c=p+4|0;b=o?c:k[p+8>>2]|0;c=b+((o?(n&255)>>>1:k[c>>2]|0)<<2)|0;k[j>>2]=k[m>>2];k[h>>2]=k[l>>2];a=yq(a,j,h,d,e,f,b,c)|0;r=g;return a|0}function Eq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=tn(d)|0;k[g>>2]=d;x=0;g=Aa(37,g|0,44212)|0;l=x;x=0;if(l&1){l=Wa()|0;zm(d)|0;fb(l|0)}else{zm(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];Fq(a,f+24|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Fq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=Ob[k[k[a>>2]>>2]&127](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Su(c,h,a,a+168|0,f,e,0)|0)-a|0;if((c|0)<168)k[b>>2]=((c|0)/12|0|0)%7|0;r=g;return}function Gq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=tn(d)|0;k[g>>2]=d;x=0;g=Aa(37,g|0,44212)|0;l=x;x=0;if(l&1){l=Wa()|0;zm(d)|0;fb(l|0)}else{zm(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];Hq(a,f+16|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Hq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=r;r=r+16|0;h=g+4|0;i=g;a=a+8|0;a=Ob[k[(k[a>>2]|0)+4>>2]&127](a)|0;k[i>>2]=k[d>>2];k[h>>2]=k[i>>2];c=(Su(c,h,a,a+288|0,f,e,0)|0)-a|0;if((c|0)<288)k[b>>2]=((c|0)/12|0|0)%12|0;r=g;return}function Iq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j+4|0;i=j;d=tn(d)|0;k[g>>2]=d;x=0;g=Aa(37,g|0,44212)|0;l=x;x=0;if(l&1){l=Wa()|0;zm(d)|0;fb(l|0)}else{zm(d)|0;k[i>>2]=k[c>>2];k[h>>2]=k[i>>2];Jq(a,f+20|0,b,h,e,g);r=j;return k[b>>2]|0}return 0}function Jq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,4)|0;if(!(k[e>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;k[b>>2]=a+-1900}r=g;return}function Kq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=r;r=r+144|0;j=U+132|0;h=U+116|0;N=U+128|0;w=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;l=U+88|0;m=U+84|0;n=U+80|0;o=U+76|0;p=U+72|0;q=U+68|0;s=U+64|0;t=U+60|0;u=U+56|0;v=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;k[e>>2]=0;M=tn(d)|0;k[N>>2]=M;x=0;N=Aa(37,N|0,44212)|0;W=x;x=0;if(W&1){W=Wa()|0;zm(M)|0;fb(W|0)}zm(M)|0;do switch(g<<24>>24|0){case 65:case 97:{k[w>>2]=k[c>>2];k[j>>2]=k[w>>2];Fq(a,f+24|0,b,j,e,N);V=28;break}case 104:case 66:case 98:{k[I>>2]=k[c>>2];k[j>>2]=k[I>>2];Hq(a,f+16|0,b,j,e,N);V=28;break}case 99:{W=a+8|0;W=Ob[k[(k[W>>2]|0)+12>>2]&127](W)|0;k[O>>2]=k[b>>2];k[P>>2]=k[c>>2];g=i[W>>0]|0;c=(g&1)==0;V=W+4|0;W=c?V:k[W+8>>2]|0;V=W+((c?(g&255)>>>1:k[V>>2]|0)<<2)|0;k[h>>2]=k[O>>2];k[j>>2]=k[P>>2];V=yq(a,h,j,d,e,f,W,V)|0;k[b>>2]=V;V=28;break}case 101:case 100:{k[Q>>2]=k[c>>2];k[j>>2]=k[Q>>2];Lq(a,f+12|0,b,j,e,N);V=28;break}case 68:{k[R>>2]=k[b>>2];k[S>>2]=k[c>>2];k[h>>2]=k[R>>2];k[j>>2]=k[S>>2];V=yq(a,h,j,d,e,f,44820,44852)|0;k[b>>2]=V;V=28;break}case 70:{k[T>>2]=k[b>>2];k[l>>2]=k[c>>2];k[h>>2]=k[T>>2];k[j>>2]=k[l>>2];V=yq(a,h,j,d,e,f,44852,44884)|0;k[b>>2]=V;V=28;break}case 72:{k[m>>2]=k[c>>2];k[j>>2]=k[m>>2];Mq(a,f+8|0,b,j,e,N);V=28;break}case 73:{k[n>>2]=k[c>>2];k[j>>2]=k[n>>2];Nq(a,f+8|0,b,j,e,N);V=28;break}case 106:{k[o>>2]=k[c>>2];k[j>>2]=k[o>>2];Oq(a,f+28|0,b,j,e,N);V=28;break}case 109:{k[p>>2]=k[c>>2];k[j>>2]=k[p>>2];Pq(a,f+16|0,b,j,e,N);V=28;break}case 77:{k[q>>2]=k[c>>2];k[j>>2]=k[q>>2];Qq(a,f+4|0,b,j,e,N);V=28;break}case 116:case 110:{k[s>>2]=k[c>>2];k[j>>2]=k[s>>2];Rq(a,b,j,e,N);V=28;break}case 112:{k[t>>2]=k[c>>2];k[j>>2]=k[t>>2];Sq(a,f+8|0,b,j,e,N);V=28;break}case 114:{k[u>>2]=k[b>>2];k[v>>2]=k[c>>2];k[h>>2]=k[u>>2];k[j>>2]=k[v>>2];V=yq(a,h,j,d,e,f,44884,44928)|0;k[b>>2]=V;V=28;break}case 82:{k[y>>2]=k[b>>2];k[z>>2]=k[c>>2];k[h>>2]=k[y>>2];k[j>>2]=k[z>>2];V=yq(a,h,j,d,e,f,44928,44948)|0;k[b>>2]=V;V=28;break}case 83:{k[A>>2]=k[c>>2];k[j>>2]=k[A>>2];Tq(a,f,b,j,e,N);V=28;break}case 84:{k[B>>2]=k[b>>2];k[C>>2]=k[c>>2];k[h>>2]=k[B>>2];k[j>>2]=k[C>>2];V=yq(a,h,j,d,e,f,44948,44980)|0;k[b>>2]=V;V=28;break}case 119:{k[D>>2]=k[c>>2];k[j>>2]=k[D>>2];Uq(a,f+24|0,b,j,e,N);V=28;break}case 120:{W=k[(k[a>>2]|0)+20>>2]|0;k[E>>2]=k[b>>2];k[F>>2]=k[c>>2];k[h>>2]=k[E>>2];k[j>>2]=k[F>>2];h=Nb[W&63](a,h,j,d,e,f)|0;break}case 88:{W=a+8|0;W=Ob[k[(k[W>>2]|0)+24>>2]&127](W)|0;k[G>>2]=k[b>>2];k[H>>2]=k[c>>2];g=i[W>>0]|0;c=(g&1)==0;V=W+4|0;W=c?V:k[W+8>>2]|0;V=W+((c?(g&255)>>>1:k[V>>2]|0)<<2)|0;k[h>>2]=k[G>>2];k[j>>2]=k[H>>2];V=yq(a,h,j,d,e,f,W,V)|0;k[b>>2]=V;V=28;break}case 121:{k[J>>2]=k[c>>2];k[j>>2]=k[J>>2];Jq(a,f+20|0,b,j,e,N);V=28;break}case 89:{k[K>>2]=k[c>>2];k[j>>2]=k[K>>2];Vq(a,f+20|0,b,j,e,N);V=28;break}case 37:{k[L>>2]=k[c>>2];k[j>>2]=k[L>>2];Wq(a,b,j,e,N);V=28;break}default:{k[e>>2]=k[e>>2]|4;V=28}}while(0);if((V|0)==28)h=k[b>>2]|0;r=U;return h|0}function Lq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<31&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function Mq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<24&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function Nq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,2)|0;c=k[e>>2]|0;if((a+-1|0)>>>0<12&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function Oq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,3)|0;c=k[e>>2]|0;if((a|0)<366&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function Pq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<13&(c&4|0)==0)k[b>>2]=a+-1;else k[e>>2]=c|4;r=g;return}function Qq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<60&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function Rq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){a=k[b>>2]|0;do if(a){f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;g=1;break}else{g=(k[b>>2]|0)==0;break}}else g=1;while(0);f=k[c>>2]|0;do if(f){a=k[f+12>>2]|0;if((a|0)==(k[f+16>>2]|0))a=Ob[k[(k[f>>2]|0)+36>>2]&127](f)|0;else a=k[a>>2]|0;if((a|0)!=-1)if(g){g=f;break}else{g=f;break a}else{k[c>>2]=0;h=15;break}}else h=15;while(0);if((h|0)==15){h=0;if(g){g=0;break}else g=0}a=k[b>>2]|0;f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;else a=k[f>>2]|0;if(!(Qb[k[(k[e>>2]|0)+12>>2]&63](e,8192,a)|0))break;a=k[b>>2]|0;f=a+12|0;g=k[f>>2]|0;if((g|0)==(k[a+16>>2]|0)){Ob[k[(k[a>>2]|0)+40>>2]&127](a)|0;continue}else{k[f>>2]=g+4;continue}}a=k[b>>2]|0;do if(a){f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;f=1;break}else{f=(k[b>>2]|0)==0;break}}else f=1;while(0);do if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0))a=Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0;else a=k[a>>2]|0;if((a|0)!=-1)if(f)break;else{h=39;break}else{k[c>>2]=0;h=37;break}}else h=37;while(0);if((h|0)==37?f:0)h=39;if((h|0)==39)k[d>>2]=k[d>>2]|2;return}function Sq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;h=m+4|0;j=m;l=a+8|0;l=Ob[k[(k[l>>2]|0)+8>>2]&127](l)|0;a=i[l>>0]|0;if(!(a&1))g=(a&255)>>>1;else g=k[l+4>>2]|0;a=i[l+12>>0]|0;if(!(a&1))a=(a&255)>>>1;else a=k[l+16>>2]|0;do if((g|0)!=(0-a|0)){k[j>>2]=k[d>>2];k[h>>2]=k[j>>2];a=Su(c,h,l,l+24|0,f,e,0)|0;g=k[b>>2]|0;if((a|0)==(l|0)&(g|0)==12){k[b>>2]=0;break}if((g|0)<12&(a-l|0)==12)k[b>>2]=g+12}else k[e>>2]=k[e>>2]|4;while(0);r=m;return}function Tq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,2)|0;c=k[e>>2]|0;if((a|0)<61&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function Uq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,1)|0;c=k[e>>2]|0;if((a|0)<7&(c&4|0)==0)k[b>>2]=a;else k[e>>2]=c|4;r=g;return}function Vq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=r;r=r+16|0;a=g+4|0;h=g;k[h>>2]=k[d>>2];k[a>>2]=k[h>>2];a=ev(c,a,e,f,4)|0;if(!(k[e>>2]&4))k[b>>2]=a+-1900;r=g;return}function Wq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=k[b>>2]|0;do if(a){f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;g=1;break}else{g=(k[b>>2]|0)==0;break}}else g=1;while(0);f=k[c>>2]|0;do if(f){a=k[f+12>>2]|0;if((a|0)==(k[f+16>>2]|0))a=Ob[k[(k[f>>2]|0)+36>>2]&127](f)|0;else a=k[a>>2]|0;if((a|0)!=-1)if(g){h=f;i=17;break}else{i=16;break}else{k[c>>2]=0;i=14;break}}else i=14;while(0);if((i|0)==14)if(g)i=16;else{h=0;i=17}a:do if((i|0)==16)k[d>>2]=k[d>>2]|6;else if((i|0)==17){a=k[b>>2]|0;f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;else a=k[f>>2]|0;if((Qb[k[(k[e>>2]|0)+52>>2]&63](e,a,0)|0)<<24>>24!=37){k[d>>2]=k[d>>2]|4;break}a=k[b>>2]|0;f=a+12|0;g=k[f>>2]|0;if((g|0)==(k[a+16>>2]|0)){Ob[k[(k[a>>2]|0)+40>>2]&127](a)|0;a=k[b>>2]|0;if(!a)f=1;else i=25}else{k[f>>2]=g+4;i=25}do if((i|0)==25){f=k[a+12>>2]|0;if((f|0)==(k[a+16>>2]|0))a=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;else a=k[f>>2]|0;if((a|0)==-1){k[b>>2]=0;f=1;break}else{f=(k[b>>2]|0)==0;break}}while(0);do if(h){a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0))a=Ob[k[(k[h>>2]|0)+36>>2]&127](h)|0;else a=k[a>>2]|0;if((a|0)!=-1)if(f)break a;else break;else{k[c>>2]=0;i=37;break}}else i=37;while(0);if((i|0)==37?!f:0)break;k[d>>2]=k[d>>2]|2}while(0);return}function Xq(a){a=a|0;Yq(a+8|0);return}function Yq(a){a=a|0;var b=0,c=0,d=0;b=k[a>>2]|0;x=0;c=Da(3)|0;d=x;x=0;do if(!(d&1)){if((b|0)!=(c|0)?(x=0,qa(188,k[a>>2]|0),d=x,x=0,d&1):0)break;return}while(0);d=Wa(0)|0;oc(d)}function Zq(a){a=a|0;Yq(a+8|0);mj(a);return}function _q(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=r;r=r+112|0;h=j+4|0;c=j;k[c>>2]=h+100;$q(a+8|0,h,c,e,f,g);e=k[c>>2]|0;c=k[b>>2]|0;if((h|0)!=(e|0))do{g=i[h>>0]|0;do if(c){d=c+24|0;f=k[d>>2]|0;if((f|0)==(k[c+28>>2]|0)){b=(Vb[k[(k[c>>2]|0)+52>>2]&63](c,g&255)|0)==-1;c=b?0:c;break}else{k[d>>2]=f+1;i[f>>0]=g;break}}else c=0;while(0);h=h+1|0}while((h|0)!=(e|0));r=j;return c|0}function $q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0;l=r;r=r+16|0;j=l;i[j>>0]=37;g=j+1|0;i[g>>0]=e;h=j+2|0;i[h>>0]=f;i[j+3>>0]=0;if(f<<24>>24){i[g>>0]=f;i[h>>0]=e}a=b+(_a(b|0,(k[c>>2]|0)-b|0,j|0,d|0,k[a>>2]|0)|0)|0;k[c>>2]=a;r=l;return}function ar(a){a=a|0;Yq(a+8|0);return}function br(a){a=a|0;Yq(a+8|0);mj(a);return}function cr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=r;r=r+416|0;d=h+8|0;c=h;k[c>>2]=d+400;dr(a+8|0,d,c,e,f,g);a=k[c>>2]|0;c=k[b>>2]|0;if((d|0)!=(a|0)){e=d;do{d=k[e>>2]|0;if(!c)c=0;else{f=c+24|0;g=k[f>>2]|0;if((g|0)==(k[c+28>>2]|0))d=Vb[k[(k[c>>2]|0)+52>>2]&63](c,d)|0;else{k[f>>2]=g+4;k[g>>2]=d}c=(d|0)==-1?0:c}e=e+4|0}while((e|0)!=(a|0))}r=h;return c|0}function dr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+128|0;j=g+16|0;l=g+12|0;h=g;i=g+8|0;k[l>>2]=j+100;$q(a,j,l,d,e,f);e=h;k[e>>2]=0;k[e+4>>2]=0;k[i>>2]=j;e=(k[c>>2]|0)-b>>2;f=Ak(k[a>>2]|0)|0;x=0;e=Ea(18,b|0,i|0,e|0,h|0)|0;a=x;x=0;if(a&1){e=Wa()|0;if((f|0)!=0?(x=0,ta(75,f|0)|0,l=x,x=0,l&1):0){l=Wa(0)|0;oc(l)}fb(e|0)}if((f|0)!=0?(x=0,ta(75,f|0)|0,l=x,x=0,l&1):0){l=Wa(0)|0;oc(l)}if((e|0)==-1)$r(58955);else{k[c>>2]=b+(e<<2);r=g;return}}function er(a){a=a|0;return}function fr(a){a=a|0;mj(a);return}function gr(a){a=a|0;return 127}function hr(a){a=a|0;return 127}function ir(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function jr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;Rm(a,1,45);return}function mr(a){a=a|0;return 0}function nr(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function or(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function pr(a){a=a|0;return}function qr(a){a=a|0;mj(a);return}function rr(a){a=a|0;return 127}function sr(a){a=a|0;return 127}function tr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function ur(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;Rm(a,1,45);return}function xr(a){a=a|0;return 0}function yr(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function zr(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function Ar(a){a=a|0;return}function Br(a){a=a|0;mj(a);return}function Cr(a){a=a|0;return 2147483647}function Dr(a){a=a|0;return 2147483647}function Er(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Fr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;dn(a,1,45);return}function Ir(a){a=a|0;return 0}function Jr(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function Kr(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function Lr(a){a=a|0;return}function Mr(a){a=a|0;mj(a);return}function Nr(a){a=a|0;return 2147483647}function Or(a){a=a|0;return 2147483647}function Pr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Qr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Rr(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Sr(a,b){a=a|0;b=b|0;dn(a,1,45);return}function Tr(a){a=a|0;return 0}function Ur(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function Vr(a,b){a=a|0;b=b|0;i[a>>0]=2;i[a+1>>0]=3;i[a+2>>0]=0;i[a+3>>0]=4;return}function Wr(a){a=a|0;return}function Xr(a){a=a|0;mj(a);return}function Yr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=r;r=r+240|0;z=B+24|0;A=B;a=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;n=B+134|0;j=B+4|0;w=B+124|0;k[D>>2]=a;E=D+4|0;k[E>>2]=189;l=a+100|0;x=0;h=ta(68,e|0)|0;v=x;x=0;if(!(v&1)){k[C>>2]=h;x=0;a=Aa(37,C|0,44220)|0;v=x;x=0;a:do if(!(v&1)?(i[n>>0]=0,k[j>>2]=k[c>>2],m=k[e+4>>2]|0,x=0,k[z>>2]=k[j>>2],m=ua(1,b|0,z|0,d|0,C|0,m|0,f|0,n|0,a|0,D|0,y|0,l|0)|0,v=x,x=0,!(v&1)):0){b:do if(m){x=0;Ea(k[(k[a>>2]|0)+32>>2]|0,a|0,58976,58986,w|0)|0;v=x;x=0;if(v&1){G=10;break a}j=k[y>>2]|0;l=k[D>>2]|0;a=j-l|0;if((a|0)>98){a=Pl(a+2|0)|0;h=a;if(!a){x=0;Ga(6);v=x;x=0;if(!(v&1)){a=0;G=13}}else G=13}else{h=0;a=z;G=13}do if((G|0)==13){if(i[n>>0]|0){i[a>>0]=45;a=a+1|0}u=w+10|0;v=w;if(l>>>0>>0){m=w+1|0;d=m+1|0;e=d+1|0;n=e+1|0;o=n+1|0;p=o+1|0;q=p+1|0;s=q+1|0;t=s+1|0;do{j=i[l>>0]|0;do if((i[w>>0]|0)!=j<<24>>24)if((i[m>>0]|0)!=j<<24>>24)if((i[d>>0]|0)!=j<<24>>24)if((i[e>>0]|0)!=j<<24>>24)if((i[n>>0]|0)==j<<24>>24)j=n;else{if((i[o>>0]|0)==j<<24>>24){j=o;break}if((i[p>>0]|0)==j<<24>>24){j=p;break}if((i[q>>0]|0)==j<<24>>24){j=q;break}if((i[s>>0]|0)==j<<24>>24){j=s;break}j=(i[t>>0]|0)==j<<24>>24?t:u}else j=e;else j=d;else j=m;else j=w;while(0);i[a>>0]=i[58976+(j-v)>>0]|0;l=l+1|0;a=a+1|0}while(l>>>0<(k[y>>2]|0)>>>0)}i[a>>0]=0;k[A>>2]=g;if((jl(z,58987,A)|0)!=1?(x=0,qa(190,58991),g=x,x=0,g&1):0)break;if(h)Ql(h);break b}while(0);a=Wa()|0;if(!h){j=a;h=D;break a}Ql(h);j=a;h=D;break a}while(0);a=k[b>>2]|0;do if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;a=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1){G=10;break a}if((a|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}}}else a=0;while(0);h=(a|0)==0;a=k[c>>2]|0;do if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;a=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1){G=10;break a}if((a|0)==-1){k[c>>2]=0;G=37;break}}if(!h)G=38}else G=37;while(0);if((G|0)==37?h:0)G=38;if((G|0)==38)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;zm(k[C>>2]|0)|0;a=k[D>>2]|0;k[D>>2]=0;if((a|0)!=0?(x=0,qa(k[E>>2]|0,a|0),G=x,x=0,G&1):0){G=Wa(0)|0;oc(G)}r=B;return h|0}else G=10;while(0);if((G|0)==10){j=Wa()|0;h=D}zm(k[C>>2]|0)|0;a=k[h>>2]|0;k[h>>2]=0;if(!a)F=j;else{h=k[E>>2]|0;G=45}}else{j=Wa()|0;k[D>>2]=0;h=189;G=45}if((G|0)==45){x=0;qa(h|0,a|0);G=x;x=0;if(G&1){G=Wa(0)|0;oc(G)}else F=j}fb(F|0);return 0}function Zr(a){a=a|0;return}function _r(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;ba=r;r=r+512|0;P=ba+88|0;t=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;k[P>>2]=o;k[da>>2]=t;ca=da+4|0;k[ca>>2]=189;k[T>>2]=t;k[S>>2]=t+400;k[Y>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;k[_>>2]=0;k[_+4>>2]=0;k[_+8>>2]=0;k[Z>>2]=0;k[Z+4>>2]=0;k[Z+8>>2]=0;k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;x=0;za(1,c|0,d|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=x;x=0;a:do if(O&1)h=Wa()|0;else{k[n>>2]=k[m>>2];I=h+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(e&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;s=0;b:while(1){o=k[a>>2]|0;do if(o){if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}}else o=0;while(0);o=(o|0)==0;h=k[b>>2]|0;do if(h){if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(o){w=h;break}else{W=235;break b}x=0;c=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;w=x;x=0;if(w&1){W=24;break b}if((c|0)!=-1)if(o){w=h;break}else{W=235;break b}else{k[b>>2]=0;W=15;break}}else W=15;while(0);if((W|0)==15){W=0;if(o){W=235;break}else w=0}c:do switch(i[U+y>>0]|0){case 1:{if((y|0)!=3){o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;W=x;x=0;if(W&1){W=24;break b}}else o=l[h>>0]|0;if((o&255)<<24>>24<=-1){W=40;break b}if(!(j[(k[I>>2]|0)+(o<<24>>24<<1)>>1]&8192)){W=40;break b}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;W=x;x=0;if(W&1){W=24;break b}}else{k[h>>2]=c+1;o=l[c>>0]|0}x=0;ra(67,$|0,o&255|0);W=x;x=0;if(W&1){W=24;break b}else{o=w;d=w;W=42}}break}case 0:{if((y|0)!=3){o=w;d=w;W=42}break}case 3:{h=i[_>>0]|0;o=(h&1)==0?(h&255)>>>1:k[J>>2]|0;c=i[Z>>0]|0;d=(c&1)==0?(c&255)>>>1:k[K>>2]|0;if((o|0)!=(0-d|0)){if(!o){o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}h=i[Z>>0]|0}else{o=l[h>>0]|0;h=c}if((o&255)<<24>>24!=(i[((h&1)==0?M:k[L>>2]|0)>>0]|0))break c;o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ta(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}}else k[h>>2]=c+1;i[g>>0]=1;w=i[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:k[K>>2]|0)>>>0>1?Z:s;break c}e=k[a>>2]|0;p=k[e+12>>2]|0;c=k[e+16>>2]|0;o=(p|0)==(c|0);if(!d){if(o){x=0;o=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){W=24;break b}h=i[_>>0]|0}else o=l[p>>0]|0;if((o&255)<<24>>24!=(i[((h&1)==0?O:k[N>>2]|0)>>0]|0)){i[g>>0]=1;break c}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ta(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}}else k[h>>2]=c+1;w=i[_>>0]|0;s=((w&1)==0?(w&255)>>>1:k[J>>2]|0)>>>0>1?_:s;break c}if(o){x=0;o=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){W=24;break b}c=k[a>>2]|0;h=i[_>>0]|0;e=c;p=k[c+12>>2]|0;c=k[c+16>>2]|0}else o=l[p>>0]|0;d=e+12|0;c=(p|0)==(c|0);if((o&255)<<24>>24==(i[((h&1)==0?O:k[N>>2]|0)>>0]|0)){if(c){x=0;ta(k[(k[e>>2]|0)+40>>2]|0,e|0)|0;w=x;x=0;if(w&1){W=24;break b}}else k[d>>2]=p+1;w=i[_>>0]|0;s=((w&1)==0?(w&255)>>>1:k[J>>2]|0)>>>0>1?_:s;break c}if(c){x=0;o=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){W=24;break b}}else o=l[p>>0]|0;if((o&255)<<24>>24!=(i[((i[Z>>0]&1)==0?M:k[L>>2]|0)>>0]|0)){W=104;break b}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ta(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}}else k[h>>2]=c+1;i[g>>0]=1;w=i[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:k[K>>2]|0)>>>0>1?Z:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(i[G>>0]|0)!=0):0){s=0;break c}u=i[aa>>0]|0;o=(u&1)==0;v=k[A>>2]|0;c=o?B:v;q=c;d:do if((y|0)!=0?(l[U+(y+-1)>>0]|0)<2:0){p=o?(u&255)>>>1:k[C>>2]|0;d=c+p|0;e=k[I>>2]|0;e:do if(!p)h=q;else{p=c;h=q;do{o=i[p>>0]|0;if(o<<24>>24<=-1)break e;if(!(j[e+(o<<24>>24<<1)>>1]&8192))break e;p=p+1|0;h=p}while((p|0)!=(d|0))}while(0);d=h-q|0;e=i[$>>0]|0;o=(e&1)==0;e=o?(e&255)>>>1:k[D>>2]|0;if(e>>>0>=d>>>0){o=o?F:k[E>>2]|0;p=o+e|0;if((h|0)!=(q|0)){o=o+(e-d)|0;while(1){if((i[o>>0]|0)!=(i[c>>0]|0)){h=q;break d}o=o+1|0;if((o|0)==(p|0))break;else c=c+1|0}}}else h=q}else h=q;while(0);o=(u&1)==0;o=(o?B:v)+(o?(u&255)>>>1:k[C>>2]|0)|0;f:do if((h|0)!=(o|0)){e=w;d=w;o=h;while(1){h=k[a>>2]|0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;h=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;w=x;x=0;if(w&1){W=21;break b}if((h|0)==-1){k[a>>2]=0;h=0;break}else{h=k[a>>2]|0;break}}}else h=0;while(0);c=(h|0)==0;do if(d){if((k[d+12>>2]|0)!=(k[d+16>>2]|0))if(c){h=e;p=d;break}else break f;x=0;h=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){W=21;break b}if((h|0)!=-1)if(c^(e|0)==0){h=e;p=e;break}else break f;else{k[b>>2]=0;h=0;W=131;break}}else{h=e;W=131}while(0);if((W|0)==131){W=0;if(c)break f;else p=0}c=k[a>>2]|0;d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){W=21;break b}}else c=l[d>>0]|0;if((c&255)<<24>>24!=(i[o>>0]|0))break f;c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ta(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;w=x;x=0;if(w&1){W=21;break b}}else k[d>>2]=e+1;o=o+1|0;c=i[aa>>0]|0;w=(c&1)==0;c=(w?B:k[A>>2]|0)+(w?(c&255)>>>1:k[C>>2]|0)|0;if((o|0)==(c|0)){o=c;break}else{e=h;d=p}}}while(0);if(z?(w=i[aa>>0]|0,v=(w&1)==0,(o|0)!=((v?B:k[A>>2]|0)+(v?(w&255)>>>1:k[C>>2]|0)|0)):0){W=143;break b}break}case 4:{q=i[V>>0]|0;h=w;e=w;o=0;g:while(1){c=k[a>>2]|0;do if(c){if((k[c+12>>2]|0)==(k[c+16>>2]|0)){x=0;c=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){W=23;break b}if((c|0)==-1){k[a>>2]=0;c=0;break}else{c=k[a>>2]|0;break}}}else c=0;while(0);d=(c|0)==0;do if(e){if((k[e+12>>2]|0)!=(k[e+16>>2]|0))if(d){p=h;break}else{d=h;break g}x=0;c=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){W=23;break b}if((c|0)!=-1)if(d^(h|0)==0){p=h;e=h;break}else{d=h;break g}else{k[b>>2]=0;h=0;W=156;break}}else W=156;while(0);if((W|0)==156){W=0;if(d){d=h;break}else{p=h;e=0}}h=k[a>>2]|0;c=k[h+12>>2]|0;if((c|0)==(k[h+16>>2]|0)){x=0;h=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;w=x;x=0;if(w&1){W=23;break b}}else h=l[c>>0]|0;c=h&255;if(c<<24>>24>-1?(j[(k[I>>2]|0)+(h<<24>>24<<1)>>1]&2048)!=0:0){h=k[n>>2]|0;if((h|0)==(k[P>>2]|0)){x=0;Fa(12,m|0,n|0,P|0);w=x;x=0;if(w&1){W=23;break b}h=k[n>>2]|0}k[n>>2]=h+1;i[h>>0]=c;o=o+1|0}else{w=i[Y>>0]|0;if(!(c<<24>>24==q<<24>>24&((o|0)!=0?(((w&1)==0?(w&255)>>>1:k[H>>2]|0)|0)!=0:0))){d=p;break}if((t|0)==(k[S>>2]|0)){x=0;Fa(13,da|0,T|0,S|0);w=x;x=0;if(w&1){W=23;break b}t=k[T>>2]|0}w=t+4|0;k[T>>2]=w;k[t>>2]=o;t=w;o=0}h=k[a>>2]|0;c=h+12|0;d=k[c>>2]|0;if((d|0)==(k[h+16>>2]|0)){x=0;ta(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;w=x;x=0;if(w&1){W=23;break b}else{h=p;continue}}else{k[c>>2]=d+1;h=p;continue}}if((o|0)!=0?(k[da>>2]|0)!=(t|0):0){if((t|0)==(k[S>>2]|0)){x=0;Fa(13,da|0,T|0,S|0);w=x;x=0;if(w&1){W=24;break b}t=k[T>>2]|0}w=t+4|0;k[T>>2]=w;k[t>>2]=o;t=w}p=k[R>>2]|0;if((p|0)>0){o=k[a>>2]|0;do if(o){if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}}else o=0;while(0);o=(o|0)==0;do if(d){if((k[d+12>>2]|0)==(k[d+16>>2]|0)){x=0;h=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){W=24;break b}if((h|0)==-1){k[b>>2]=0;W=193;break}}if(!o){W=198;break b}}else W=193;while(0);if((W|0)==193){W=0;if(o){W=198;break b}else d=0}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}}else o=l[h>>0]|0;if((o&255)<<24>>24!=(i[Q>>0]|0)){W=198;break b}o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;ta(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=24;break b}}else k[h>>2]=c+1;if((p|0)>0){e=d;c=d;q=p;while(1){o=k[a>>2]|0;do if(o){if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=22;break b}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}}else o=0;while(0);h=(o|0)==0;do if(c){if((k[c+12>>2]|0)!=(k[c+16>>2]|0))if(h){o=e;p=c;break}else{W=222;break b}x=0;o=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){W=22;break b}if((o|0)!=-1)if(h^(e|0)==0){o=e;p=e;break}else{W=222;break b}else{k[b>>2]=0;o=0;W=215;break}}else{o=e;W=215}while(0);if((W|0)==215){W=0;if(h){W=222;break b}else p=0}h=k[a>>2]|0;c=k[h+12>>2]|0;if((c|0)==(k[h+16>>2]|0)){x=0;h=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;w=x;x=0;if(w&1){W=22;break b}}else h=l[c>>0]|0;if((h&255)<<24>>24<=-1){W=222;break b}if(!(j[(k[I>>2]|0)+(h<<24>>24<<1)>>1]&2048)){W=222;break b}if((k[n>>2]|0)==(k[P>>2]|0)?(x=0,Fa(12,m|0,n|0,P|0),w=x,x=0,w&1):0){W=22;break b}h=k[a>>2]|0;c=k[h+12>>2]|0;if((c|0)==(k[h+16>>2]|0)){x=0;h=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;w=x;x=0;if(w&1){W=22;break b}}else h=l[c>>0]|0;c=k[n>>2]|0;k[n>>2]=c+1;i[c>>0]=h;h=q;q=q+-1|0;k[R>>2]=q;c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ta(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;w=x;x=0;if(w&1){W=22;break b}}else k[d>>2]=e+1;if((h|0)<=1)break;else{e=o;c=p}}}}if((k[n>>2]|0)==(k[m>>2]|0)){W=233;break b}break}default:{}}while(0);h:do if((W|0)==42)while(1){W=0;h=k[a>>2]|0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;h=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;w=x;x=0;if(w&1){W=20;break b}if((h|0)==-1){k[a>>2]=0;h=0;break}else{h=k[a>>2]|0;break}}}else h=0;while(0);c=(h|0)==0;do if(d){if((k[d+12>>2]|0)!=(k[d+16>>2]|0))if(c){e=o;break}else break h;x=0;h=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){W=20;break b}if((h|0)!=-1)if(c^(o|0)==0){e=o;d=o;break}else break h;else{k[b>>2]=0;o=0;W=54;break}}else W=54;while(0);if((W|0)==54){W=0;if(c)break h;else{e=o;d=0}}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){W=20;break b}}else o=l[h>>0]|0;if((o&255)<<24>>24<=-1)break h;if(!(j[(k[I>>2]|0)+(o<<24>>24<<1)>>1]&8192))break h;o=k[a>>2]|0;h=o+12|0;c=k[h>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+40>>2]|0,o|0)|0;W=x;x=0;if(W&1){W=20;break b}}else{k[h>>2]=c+1;o=l[c>>0]|0}x=0;ra(67,$|0,o&255|0);W=x;x=0;if(W&1){W=20;break b}else{o=e;W=42}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{h=Wa()|0;break a}case 21:{h=Wa()|0;break a}case 22:{h=Wa()|0;break a}case 23:{h=Wa()|0;break a}case 24:{h=Wa()|0;break a}case 40:{k[f>>2]=k[f>>2]|4;h=0;break}case 104:{k[f>>2]=k[f>>2]|4;h=0;break}case 143:{k[f>>2]=k[f>>2]|4;h=0;break}case 198:{k[f>>2]=k[f>>2]|4;h=0;break}case 222:{k[f>>2]=k[f>>2]|4;h=0;break}case 233:{k[f>>2]=k[f>>2]|4;h=0;break}case 235:{j:do if(s){e=s+1|0;p=s+8|0;q=s+4|0;c=1;k:while(1){o=i[s>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=k[q>>2]|0;if(c>>>0>=o>>>0)break j;o=k[a>>2]|0;do if(o){if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;n=x;x=0;if(n&1){W=19;break k}if((o|0)==-1){k[a>>2]=0;o=0;break}else{o=k[a>>2]|0;break}}}else o=0;while(0);h=(o|0)==0;o=k[b>>2]|0;do if(o){if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;n=x;x=0;if(n&1){W=19;break k}if((o|0)==-1){k[b>>2]=0;W=253;break}}if(!h){W=260;break k}}else W=253;while(0);if((W|0)==253?(W=0,h):0){W=260;break}o=k[a>>2]|0;h=k[o+12>>2]|0;if((h|0)==(k[o+16>>2]|0)){x=0;o=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;n=x;x=0;if(n&1){W=19;break}}else o=l[h>>0]|0;if(!(i[s>>0]&1))h=e;else h=k[p>>2]|0;if((o&255)<<24>>24!=(i[h+c>>0]|0)){W=260;break}o=c+1|0;h=k[a>>2]|0;c=h+12|0;d=k[c>>2]|0;if((d|0)==(k[h+16>>2]|0)){x=0;ta(k[(k[h>>2]|0)+40>>2]|0,h|0)|0;n=x;x=0;if(n&1){W=19;break}else{c=o;continue}}else{k[c>>2]=d+1;c=o;continue}}if((W|0)==19){h=Wa()|0;break a}else if((W|0)==260){k[f>>2]=k[f>>2]|4;h=0;break i}}while(0);o=k[da>>2]|0;if((o|0)!=(t|0)?(k[X>>2]=0,cs(Y,o,t,X),(k[X>>2]|0)!=0):0){k[f>>2]=k[f>>2]|4;h=0}else h=1;break}}Sm($);Sm(Z);Sm(_);Sm(aa);Sm(Y);o=k[da>>2]|0;k[da>>2]=0;if((o|0)!=0?(x=0,qa(k[ca>>2]|0,o|0),da=x,x=0,da&1):0){da=Wa(0)|0;oc(da)}r=ba;return h|0}while(0);Sm($);Sm(Z);Sm(_);Sm(aa);Sm(Y);o=k[da>>2]|0;k[da>>2]=0;if((o|0)!=0?(x=0,qa(k[ca>>2]|0,o|0),da=x,x=0,da&1):0){da=Wa(0)|0;oc(da)}fb(h|0);return 0}function $r(a){a=a|0;var b=0;b=Va(8)|0;x=0;ra(90,b|0,a|0);a=x;x=0;if(a&1){a=Wa()|0;Ua(b|0);fb(a|0)}else ub(b|0,616,80)}function as(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;v=r;r=r+144|0;h=v+24|0;a=v+32|0;w=v+16|0;q=v+8|0;n=v+4|0;o=v+28|0;j=v;k[w>>2]=a;A=w+4|0;k[A>>2]=189;l=a+100|0;x=0;u=ta(68,e|0)|0;m=x;x=0;if(!(m&1)){k[n>>2]=u;x=0;m=Aa(37,n|0,44220)|0;a=x;x=0;a:do if(!(a&1)?(i[o>>0]=0,s=k[c>>2]|0,k[j>>2]=s,p=k[e+4>>2]|0,t=s,x=0,k[h>>2]=k[j>>2],p=ua(1,b|0,h|0,d|0,n|0,p|0,f|0,o|0,m|0,w|0,q|0,l|0)|0,e=x,x=0,!(e&1)):0){if(p){if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}if(i[o>>0]|0){x=0;a=Aa(k[(k[m>>2]|0)+28>>2]|0,m|0,45)|0;e=x;x=0;if(e&1)break;x=0;ra(67,g|0,a|0);e=x;x=0;if(e&1)break}x=0;j=Aa(k[(k[m>>2]|0)+28>>2]|0,m|0,48)|0;e=x;x=0;if(e&1)break;a=k[w>>2]|0;l=k[q>>2]|0;h=l+-1|0;b:do if(a>>>0>>0)do{if((i[a>>0]|0)!=j<<24>>24)break b;a=a+1|0}while(a>>>0>>0);while(0);x=0;va(32,g|0,a|0,l|0)|0;g=x;x=0;if(g&1)break}a=k[b>>2]|0;do if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;a=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1)break a;if((a|0)==-1){k[b>>2]=0;a=0;break}else{a=k[b>>2]|0;break}}}else a=0;while(0);h=(a|0)==0;do if(s){if((k[t+12>>2]|0)==(k[t+16>>2]|0)){x=0;a=ta(k[(k[s>>2]|0)+36>>2]|0,t|0)|0;t=x;x=0;if(t&1)break a;if((a|0)==-1){k[c>>2]=0;z=29;break}}if(!h)z=30}else z=29;while(0);if((z|0)==29?h:0)z=30;if((z|0)==30)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;zm(u)|0;a=k[w>>2]|0;k[w>>2]=0;if((a|0)!=0?(x=0,qa(k[A>>2]|0,a|0),A=x,x=0,A&1):0){A=Wa(0)|0;oc(A)}r=v;return h|0}while(0);h=Wa()|0;zm(u)|0;a=k[w>>2]|0;k[w>>2]=0;if(!a)y=h;else z=36}else{h=Wa()|0;k[w>>2]=0;z=36}if((z|0)==36){x=0;qa(k[A>>2]|0,a|0);A=x;x=0;if(A&1){A=Wa(0)|0;oc(A)}else y=h}fb(y|0);return 0}function bs(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;z=r;r=r+112|0;m=z+100|0;n=z+88|0;o=z+76|0;p=z+64|0;q=z+52|0;s=z+48|0;t=z+36|0;u=z+24|0;v=z+12|0;w=z;do if(a){a=Ss(b,43828)|0;Mb[k[(k[a>>2]|0)+44>>2]&127](m,a);w=k[m>>2]|0;i[c>>0]=w;i[c+1>>0]=w>>8;i[c+2>>0]=w>>16;i[c+3>>0]=w>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](n,a);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;ra(91,j|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[j>>2]=k[n>>2];k[j+4>>2]=k[n+4>>2];k[j+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;Sm(n);Mb[k[(k[a>>2]|0)+28>>2]&127](o,a);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;ra(91,h|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[h>>2]=k[o>>2];k[h+4>>2]=k[o+4>>2];k[h+8>>2]=k[o+8>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;Sm(o);h=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;i[d>>0]=h;h=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;i[e>>0]=h;Mb[k[(k[a>>2]|0)+20>>2]&127](p,a);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;ra(91,f|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)};k[f>>2]=k[p>>2];k[f+4>>2]=k[p+4>>2];k[f+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;Sm(p);Mb[k[(k[a>>2]|0)+24>>2]&127](q,a);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;ra(91,g|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)}else{k[g>>2]=k[q>>2];k[g+4>>2]=k[q+4>>2];k[g+8>>2]=k[q+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;Sm(q);y=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}else{a=Ss(b,43764)|0;Mb[k[(k[a>>2]|0)+44>>2]&127](s,a);s=k[s>>2]|0;i[c>>0]=s;i[c+1>>0]=s>>8;i[c+2>>0]=s>>16;i[c+3>>0]=s>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](t,a);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;ra(91,j|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[j>>2]=k[t>>2];k[j+4>>2]=k[t+4>>2];k[j+8>>2]=k[t+8>>2];k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;Sm(t);Mb[k[(k[a>>2]|0)+28>>2]&127](u,a);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;ra(91,h|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[h>>2]=k[u>>2];k[h+4>>2]=k[u+4>>2];k[h+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;Sm(u);h=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;i[d>>0]=h;h=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;i[e>>0]=h;Mb[k[(k[a>>2]|0)+20>>2]&127](v,a);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;ra(91,f|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)};k[f>>2]=k[v>>2];k[f+4>>2]=k[v+4>>2];k[f+8>>2]=k[v+8>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;Sm(v);Mb[k[(k[a>>2]|0)+24>>2]&127](w,a);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;ra(91,g|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)}else{k[g>>2]=k[w>>2];k[g+4>>2]=k[w+4>>2];k[g+8>>2]=k[w+8>>2];k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;Sm(w);y=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}while(0);k[l>>2]=y;r=z;return}function cs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=i[a>>0]|0;g=a+4|0;f=k[g>>2]|0;a:do if(((e&1)==0?(e&255)>>>1:f)|0){if((b|0)!=(c|0)){e=c+-4|0;if(e>>>0>b>>>0){f=b;do{h=k[f>>2]|0;k[f>>2]=k[e>>2];k[e>>2]=h;f=f+4|0;e=e+-4|0}while(f>>>0>>0)}e=i[a>>0]|0;f=k[g>>2]|0}h=(e&1)==0;g=h?a+1|0:k[a+8>>2]|0;c=c+-4|0;a=g+(h?(e&255)>>>1:f)|0;f=i[g>>0]|0;e=f<<24>>24<1|f<<24>>24==127;b:do if(c>>>0>b>>>0){while(1){if(!e?(f<<24>>24|0)!=(k[b>>2]|0):0)break;g=(a-g|0)>1?g+1|0:g;b=b+4|0;f=i[g>>0]|0;e=f<<24>>24<1|f<<24>>24==127;if(b>>>0>=c>>>0)break b}k[d>>2]=4;break a}while(0);if(!e?((k[c>>2]|0)+-1|0)>>>0>=f<<24>>24>>>0:0)k[d>>2]=4}while(0);return}function ds(a){a=a|0;return}function es(a){a=a|0;mj(a);return}function fs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=r;r=r+576|0;w=B+424|0;A=B;a=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;n=B+464|0;j=B+4|0;z=B+468|0;k[D>>2]=a;F=D+4|0;k[F>>2]=189;l=a+400|0;x=0;h=ta(68,e|0)|0;v=x;x=0;if(!(v&1)){k[C>>2]=h;x=0;a=Aa(37,C|0,44212)|0;v=x;x=0;a:do if(!(v&1)?(i[n>>0]=0,k[j>>2]=k[c>>2],m=k[e+4>>2]|0,x=0,k[w>>2]=k[j>>2],m=ua(2,b|0,w|0,d|0,C|0,m|0,f|0,n|0,a|0,D|0,y|0,l|0)|0,v=x,x=0,!(v&1)):0){b:do if(m){x=0;Ea(k[(k[a>>2]|0)+48>>2]|0,a|0,59007,59017,w|0)|0;v=x;x=0;if(v&1){G=10;break a}j=k[y>>2]|0;l=k[D>>2]|0;a=j-l|0;if((a|0)>392){a=Pl((a>>2)+2|0)|0;h=a;if(!a){x=0;Ga(6);v=x;x=0;if(!(v&1)){a=0;G=13}}else G=13}else{h=0;a=z;G=13}do if((G|0)==13){if(i[n>>0]|0){i[a>>0]=45;a=a+1|0}u=w+40|0;v=w;if(l>>>0>>0){m=w+4|0;d=m+4|0;e=d+4|0;n=e+4|0;o=n+4|0;p=o+4|0;q=p+4|0;s=q+4|0;t=s+4|0;do{j=k[l>>2]|0;do if((k[w>>2]|0)!=(j|0))if((k[m>>2]|0)!=(j|0))if((k[d>>2]|0)!=(j|0))if((k[e>>2]|0)!=(j|0))if((k[n>>2]|0)==(j|0))j=n;else{if((k[o>>2]|0)==(j|0)){j=o;break}if((k[p>>2]|0)==(j|0)){j=p;break}if((k[q>>2]|0)==(j|0)){j=q;break}if((k[s>>2]|0)==(j|0)){j=s;break}j=(k[t>>2]|0)==(j|0)?t:u}else j=e;else j=d;else j=m;else j=w;while(0);i[a>>0]=i[59007+(j-v>>2)>>0]|0;l=l+4|0;a=a+1|0}while(l>>>0<(k[y>>2]|0)>>>0)}i[a>>0]=0;k[A>>2]=g;if((jl(z,58987,A)|0)!=1?(x=0,qa(190,58991),g=x,x=0,g&1):0)break;if(h)Ql(h);break b}while(0);a=Wa()|0;if(!h){j=a;h=D;break a}Ql(h);j=a;h=D;break a}while(0);a=k[b>>2]|0;do if(a){h=k[a+12>>2]|0;if((h|0)==(k[a+16>>2]|0)){x=0;a=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1){G=10;break a}}else a=k[h>>2]|0;if((a|0)==-1){k[b>>2]=0;j=1;break}else{j=(k[b>>2]|0)==0;break}}else j=1;while(0);a=k[c>>2]|0;do if(a){h=k[a+12>>2]|0;if((h|0)==(k[a+16>>2]|0)){x=0;a=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1){G=10;break a}}else a=k[h>>2]|0;if((a|0)!=-1)if(j)break;else{G=40;break}else{k[c>>2]=0;G=38;break}}else G=38;while(0);if((G|0)==38?j:0)G=40;if((G|0)==40)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;zm(k[C>>2]|0)|0;a=k[D>>2]|0;k[D>>2]=0;if((a|0)!=0?(x=0,qa(k[F>>2]|0,a|0),G=x,x=0,G&1):0){G=Wa(0)|0;oc(G)}r=B;return h|0}else G=10;while(0);if((G|0)==10){j=Wa()|0;h=D}zm(k[C>>2]|0)|0;a=k[h>>2]|0;k[h>>2]=0;if(!a)E=j;else{h=k[F>>2]|0;G=47}}else{j=Wa()|0;k[D>>2]=0;h=189;G=47}if((G|0)==47){x=0;qa(h|0,a|0);G=x;x=0;if(G&1){G=Wa(0)|0;oc(G)}else E=j}fb(E|0);return 0}function gs(a,b,c,d,e,f,g,h,j,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=r;r=r+512|0;K=Y+96|0;o=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;k[K>>2]=n;k[_>>2]=o;Z=_+4|0;k[Z>>2]=189;k[O>>2]=o;k[N>>2]=o+400;k[T>>2]=0;k[T+4>>2]=0;k[T+8>>2]=0;k[X>>2]=0;k[X+4>>2]=0;k[X+8>>2]=0;k[V>>2]=0;k[V+4>>2]=0;k[V+8>>2]=0;k[U>>2]=0;k[U+4>>2]=0;k[U+8>>2]=0;k[W>>2]=0;k[W+4>>2]=0;k[W+8>>2]=0;x=0;za(2,c|0,d|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=x;x=0;a:do if(J&1)c=Wa()|0;else{k[m>>2]=k[j>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(e&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;q=0;b:while(1){n=k[a>>2]|0;do if(n){c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=26;break b}}else n=k[c>>2]|0;if((n|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}else d=1;while(0);c=k[b>>2]|0;do if(c){n=k[c+12>>2]|0;if((n|0)==(k[c+16>>2]|0)){x=0;n=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){R=26;break b}}else n=k[n>>2]|0;if((n|0)!=-1)if(d){w=c;break}else{s=o;R=244;break b}else{k[b>>2]=0;R=16;break}}else R=16;while(0);if((R|0)==16){R=0;if(d){s=o;R=244;break}else w=0}c:do switch(i[P+y>>0]|0){case 1:{if((y|0)!=3){n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;R=x;x=0;if(R&1){R=26;break b}}else n=k[c>>2]|0;x=0;n=va(k[(k[h>>2]|0)+12>>2]|0,h|0,8192,n|0)|0;R=x;x=0;if(R&1){R=26;break b}if(!n){R=42;break b}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;R=x;x=0;if(R&1){R=26;break b}}else{k[c>>2]=d+4;n=k[d>>2]|0}x=0;ra(92,W|0,n|0);R=x;x=0;if(R&1){R=26;break b}else{n=w;e=w;R=44}}else n=o;break}case 0:{if((y|0)==3)n=o;else{n=w;e=w;R=44}break}case 3:{c=i[V>>0]|0;n=(c&1)==0?(c&255)>>>1:k[G>>2]|0;d=i[U>>0]|0;e=(d&1)==0?(d&255)>>>1:k[H>>2]|0;if((n|0)==(0-e|0))n=o;else{if(!n){n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=26;break b}c=i[U>>0]|0}else{n=k[c>>2]|0;c=d}if((n|0)!=(k[((c&1)==0?H:k[I>>2]|0)>>2]|0)){n=o;break c}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;ta(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=26;break b}}else k[c>>2]=d+4;i[g>>0]=1;w=i[U>>0]|0;n=o;q=((w&1)==0?(w&255)>>>1:k[H>>2]|0)>>>0>1?U:q;break c}p=k[a>>2]|0;s=k[p+12>>2]|0;d=k[p+16>>2]|0;n=(s|0)==(d|0);if(!e){if(n){x=0;n=ta(k[(k[p>>2]|0)+36>>2]|0,p|0)|0;w=x;x=0;if(w&1){R=26;break b}c=i[V>>0]|0}else n=k[s>>2]|0;if((n|0)!=(k[((c&1)==0?G:k[J>>2]|0)>>2]|0)){i[g>>0]=1;n=o;break c}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;ta(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=26;break b}}else k[c>>2]=d+4;w=i[V>>0]|0;n=o;q=((w&1)==0?(w&255)>>>1:k[G>>2]|0)>>>0>1?V:q;break c}if(n){x=0;n=ta(k[(k[p>>2]|0)+36>>2]|0,p|0)|0;w=x;x=0;if(w&1){R=26;break b}d=k[a>>2]|0;c=i[V>>0]|0;p=d;s=k[d+12>>2]|0;d=k[d+16>>2]|0}else n=k[s>>2]|0;e=p+12|0;d=(s|0)==(d|0);if((n|0)==(k[((c&1)==0?G:k[J>>2]|0)>>2]|0)){if(d){x=0;ta(k[(k[p>>2]|0)+40>>2]|0,p|0)|0;w=x;x=0;if(w&1){R=26;break b}}else k[e>>2]=s+4;w=i[V>>0]|0;n=o;q=((w&1)==0?(w&255)>>>1:k[G>>2]|0)>>>0>1?V:q;break c}if(d){x=0;n=ta(k[(k[p>>2]|0)+36>>2]|0,p|0)|0;w=x;x=0;if(w&1){R=26;break b}}else n=k[s>>2]|0;if((n|0)!=(k[((i[U>>0]&1)==0?H:k[I>>2]|0)>>2]|0)){R=107;break b}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;ta(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=26;break b}}else k[c>>2]=d+4;i[g>>0]=1;w=i[U>>0]|0;n=o;q=((w&1)==0?(w&255)>>>1:k[H>>2]|0)>>>0>1?U:q}break}case 2:{if(!(y>>>0<2|(q|0)!=0)?!(z|(y|0)==2&(i[E>>0]|0)!=0):0){n=o;q=0;break c}e=i[X>>0]|0;d=k[A>>2]|0;c=(e&1)==0?B:d;n=c;d:do if((y|0)!=0?(l[P+(y+-1)>>0]|0)<2:0){v=(e&1)==0;e:do if((c|0)!=((v?B:d)+((v?(e&255)>>>1:k[B>>2]|0)<<2)|0)){e=c;while(1){x=0;c=va(k[(k[h>>2]|0)+12>>2]|0,h|0,8192,k[e>>2]|0)|0;v=x;x=0;if(v&1){R=23;break b}if(!c)break;e=e+4|0;n=e;c=i[X>>0]|0;d=k[A>>2]|0;v=(c&1)==0;if((e|0)==((v?B:d)+((v?(c&255)>>>1:k[B>>2]|0)<<2)|0)){e=c;break e}}e=i[X>>0]|0;d=k[A>>2]|0}while(0);s=(e&1)==0?B:d;c=s;t=n-c>>2;u=i[W>>0]|0;p=(u&1)==0;u=p?(u&255)>>>1:k[C>>2]|0;if(u>>>0>=t>>>0){p=p?C:k[D>>2]|0;v=p+(u<<2)|0;if(!t)c=n;else{p=p+(u-t<<2)|0;while(1){if((k[p>>2]|0)!=(k[s>>2]|0))break d;p=p+4|0;if((p|0)==(v|0)){c=n;break}else s=s+4|0}}}}else c=n;while(0);n=(e&1)==0;n=(n?B:d)+((n?(e&255)>>>1:k[B>>2]|0)<<2)|0;f:do if((c|0)!=(n|0)){p=w;e=w;n=c;while(1){c=k[a>>2]|0;do if(c){d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){R=22;break b}}else c=k[d>>2]|0;if((c|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}else d=1;while(0);do if(e){c=k[e+12>>2]|0;if((c|0)==(k[e+16>>2]|0)){x=0;c=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){R=22;break b}}else c=k[c>>2]|0;if((c|0)!=-1)if(d^(p|0)==0){c=p;s=p;break}else break f;else{k[b>>2]=0;c=0;R=136;break}}else{c=p;R=136}while(0);if((R|0)==136){R=0;if(d)break f;else s=0}d=k[a>>2]|0;e=k[d+12>>2]|0;if((e|0)==(k[d+16>>2]|0)){x=0;d=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=22;break b}}else d=k[e>>2]|0;if((d|0)!=(k[n>>2]|0))break f;d=k[a>>2]|0;e=d+12|0;p=k[e>>2]|0;if((p|0)==(k[d+16>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=22;break b}}else k[e>>2]=p+4;n=n+4|0;d=i[X>>0]|0;w=(d&1)==0;d=(w?B:k[A>>2]|0)+((w?(d&255)>>>1:k[B>>2]|0)<<2)|0;if((n|0)==(d|0)){n=d;break}else{p=c;e=s}}}while(0);if(z?(w=i[X>>0]|0,v=(w&1)==0,(n|0)!=((v?B:k[A>>2]|0)+((v?(w&255)>>>1:k[B>>2]|0)<<2)|0)):0){R=148;break b}else n=o;break}case 4:{u=k[Q>>2]|0;t=w;p=w;n=o;c=0;g:while(1){d=k[a>>2]|0;do if(d){e=k[d+12>>2]|0;if((e|0)==(k[d+16>>2]|0)){x=0;d=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=25;break b}}else d=k[e>>2]|0;if((d|0)==-1){k[a>>2]=0;e=1;break}else{e=(k[a>>2]|0)==0;break}}else e=1;while(0);do if(p){d=k[p+12>>2]|0;if((d|0)==(k[p+16>>2]|0)){x=0;d=ta(k[(k[p>>2]|0)+36>>2]|0,p|0)|0;w=x;x=0;if(w&1){R=25;break b}}else d=k[d>>2]|0;if((d|0)!=-1)if(e^(t|0)==0){d=t;s=t;break}else{o=t;break g}else{k[b>>2]=0;d=0;R=162;break}}else{d=t;R=162}while(0);if((R|0)==162){R=0;if(e){o=d;break}else s=0}e=k[a>>2]|0;o=k[e+12>>2]|0;if((o|0)==(k[e+16>>2]|0)){x=0;e=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){R=25;break b}}else e=k[o>>2]|0;x=0;o=va(k[(k[h>>2]|0)+12>>2]|0,h|0,2048,e|0)|0;w=x;x=0;if(w&1){R=25;break b}if(o){o=k[m>>2]|0;if((o|0)==(k[K>>2]|0)){x=0;Fa(14,j|0,m|0,K|0);w=x;x=0;if(w&1){R=25;break b}o=k[m>>2]|0}k[m>>2]=o+4;k[o>>2]=e;c=c+1|0}else{w=i[T>>0]|0;if(!((e|0)==(u|0)&((c|0)!=0?(((w&1)==0?(w&255)>>>1:k[F>>2]|0)|0)!=0:0))){o=d;break}if((n|0)==(k[N>>2]|0)){x=0;Fa(13,_|0,O|0,N|0);w=x;x=0;if(w&1){R=25;break b}n=k[O>>2]|0}w=n+4|0;k[O>>2]=w;k[n>>2]=c;n=w;c=0}e=k[a>>2]|0;o=e+12|0;p=k[o>>2]|0;if((p|0)==(k[e+16>>2]|0)){x=0;ta(k[(k[e>>2]|0)+40>>2]|0,e|0)|0;w=x;x=0;if(w&1){R=25;break b}else{t=d;p=s;continue}}else{k[o>>2]=p+4;t=d;p=s;continue}}if((c|0)!=0?(k[_>>2]|0)!=(n|0):0){if((n|0)==(k[N>>2]|0)){x=0;Fa(13,_|0,O|0,N|0);w=x;x=0;if(w&1){R=26;break b}n=k[O>>2]|0}w=n+4|0;k[O>>2]=w;k[n>>2]=c;n=w}s=k[M>>2]|0;if((s|0)>0){c=k[a>>2]|0;do if(c){d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){R=26;break b}}else c=k[d>>2]|0;if((c|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}else d=1;while(0);do if(o){c=k[o+12>>2]|0;if((c|0)==(k[o+16>>2]|0)){x=0;c=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;w=x;x=0;if(w&1){R=26;break b}}else c=k[c>>2]|0;if((c|0)!=-1)if(d)break;else{R=206;break b}else{k[b>>2]=0;R=200;break}}else R=200;while(0);if((R|0)==200){R=0;if(d){R=206;break b}else o=0}c=k[a>>2]|0;d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){R=26;break b}}else c=k[d>>2]|0;if((c|0)!=(k[L>>2]|0)){R=206;break b}c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ta(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;w=x;x=0;if(w&1){R=26;break b}}else k[d>>2]=e+4;if((s|0)>0){p=o;e=o;t=s;while(1){c=k[a>>2]|0;do if(c){d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){R=24;break b}}else c=k[d>>2]|0;if((c|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}else d=1;while(0);do if(e){c=k[e+12>>2]|0;if((c|0)==(k[e+16>>2]|0)){x=0;c=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){R=24;break b}}else c=k[c>>2]|0;if((c|0)!=-1)if(d^(p|0)==0){c=p;s=p;break}else{R=231;break b}else{k[b>>2]=0;c=0;R=224;break}}else{c=p;R=224}while(0);if((R|0)==224){R=0;if(d){R=231;break b}else s=0}d=k[a>>2]|0;e=k[d+12>>2]|0;if((e|0)==(k[d+16>>2]|0)){x=0;d=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=24;break b}}else d=k[e>>2]|0;x=0;d=va(k[(k[h>>2]|0)+12>>2]|0,h|0,2048,d|0)|0;w=x;x=0;if(w&1){R=24;break b}if(!d){R=231;break b}if((k[m>>2]|0)==(k[K>>2]|0)?(x=0,Fa(14,j|0,m|0,K|0),w=x,x=0,w&1):0){R=24;break b}d=k[a>>2]|0;e=k[d+12>>2]|0;if((e|0)==(k[d+16>>2]|0)){x=0;d=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;w=x;x=0;if(w&1){R=24;break b}}else d=k[e>>2]|0;e=k[m>>2]|0;k[m>>2]=e+4;k[e>>2]=d;d=t;t=t+-1|0;k[M>>2]=t;e=k[a>>2]|0;o=e+12|0;p=k[o>>2]|0;if((p|0)==(k[e+16>>2]|0)){x=0;ta(k[(k[e>>2]|0)+40>>2]|0,e|0)|0;w=x;x=0;if(w&1){R=24;break b}}else k[o>>2]=p+4;if((d|0)<=1)break;else{p=c;e=s}}}}if((k[m>>2]|0)==(k[j>>2]|0)){R=242;break b}break}default:n=o}while(0);h:do if((R|0)==44)while(1){R=0;c=k[a>>2]|0;do if(c){d=k[c+12>>2]|0;if((d|0)==(k[c+16>>2]|0)){x=0;c=ta(k[(k[c>>2]|0)+36>>2]|0,c|0)|0;w=x;x=0;if(w&1){R=21;break b}}else c=k[d>>2]|0;if((c|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}else d=1;while(0);do if(e){c=k[e+12>>2]|0;if((c|0)==(k[e+16>>2]|0)){x=0;c=ta(k[(k[e>>2]|0)+36>>2]|0,e|0)|0;w=x;x=0;if(w&1){R=21;break b}}else c=k[c>>2]|0;if((c|0)!=-1)if(d^(n|0)==0){p=n;e=n;break}else{n=o;break h}else{k[b>>2]=0;n=0;R=57;break}}else R=57;while(0);if((R|0)==57){R=0;if(d){n=o;break h}else{p=n;e=0}}n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;w=x;x=0;if(w&1){R=21;break b}}else n=k[c>>2]|0;x=0;n=va(k[(k[h>>2]|0)+12>>2]|0,h|0,8192,n|0)|0;w=x;x=0;if(w&1){R=21;break b}if(!n){n=o;break h}n=k[a>>2]|0;c=n+12|0;d=k[c>>2]|0;if((d|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+40>>2]|0,n|0)|0;R=x;x=0;if(R&1){R=21;break b}}else{k[c>>2]=d+4;n=k[d>>2]|0}x=0;ra(92,W|0,n|0);R=x;x=0;if(R&1){R=21;break b}else{n=p;R=44}}while(0);y=y+1|0;if(y>>>0>=4){s=n;R=244;break}else o=n}i:switch(R|0){case 21:{c=Wa()|0;break a}case 22:{c=Wa()|0;break a}case 23:{c=Wa()|0;break a}case 24:{c=Wa()|0;break a}case 25:{c=Wa()|0;break a}case 26:{c=Wa()|0;break a}case 42:{k[f>>2]=k[f>>2]|4;c=0;break}case 107:{k[f>>2]=k[f>>2]|4;c=0;break}case 148:{k[f>>2]=k[f>>2]|4;c=0;break}case 206:{k[f>>2]=k[f>>2]|4;c=0;break}case 231:{k[f>>2]=k[f>>2]|4;c=0;break}case 242:{k[f>>2]=k[f>>2]|4;c=0;break}case 244:{j:do if(q){o=q+4|0;p=q+8|0;e=1;k:while(1){n=i[q>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=k[o>>2]|0;if(e>>>0>=n>>>0)break j;n=k[a>>2]|0;do if(n){c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;m=x;x=0;if(m&1){R=20;break k}}else n=k[c>>2]|0;if((n|0)==-1){k[a>>2]=0;d=1;break}else{d=(k[a>>2]|0)==0;break}}else d=1;while(0);n=k[b>>2]|0;do if(n){c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;m=x;x=0;if(m&1){R=20;break k}}else n=k[c>>2]|0;if((n|0)!=-1)if(d)break;else{R=271;break k}else{k[b>>2]=0;R=263;break}}else R=263;while(0);if((R|0)==263?(R=0,d):0){R=271;break}n=k[a>>2]|0;c=k[n+12>>2]|0;if((c|0)==(k[n+16>>2]|0)){x=0;n=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;m=x;x=0;if(m&1){R=20;break}}else n=k[c>>2]|0;if(!(i[q>>0]&1))c=o;else c=k[p>>2]|0;if((n|0)!=(k[c+(e<<2)>>2]|0)){R=271;break}n=e+1|0;c=k[a>>2]|0;d=c+12|0;e=k[d>>2]|0;if((e|0)==(k[c+16>>2]|0)){x=0;ta(k[(k[c>>2]|0)+40>>2]|0,c|0)|0;m=x;x=0;if(m&1){R=20;break}else{e=n;continue}}else{k[d>>2]=e+4;e=n;continue}}if((R|0)==20){c=Wa()|0;break a}else if((R|0)==271){k[f>>2]=k[f>>2]|4;c=0;break i}}while(0);n=k[_>>2]|0;if((n|0)!=(s|0)?(k[S>>2]=0,cs(T,n,s,S),(k[S>>2]|0)!=0):0){k[f>>2]=k[f>>2]|4;c=0}else c=1;break}}en(W);en(U);en(V);en(X);Sm(T);n=k[_>>2]|0;k[_>>2]=0;if((n|0)!=0?(x=0,qa(k[Z>>2]|0,n|0),_=x,x=0,_&1):0){_=Wa(0)|0;oc(_)}r=Y;return c|0}while(0);en(W);en(U);en(V);en(X);Sm(T);n=k[_>>2]|0;k[_>>2]=0;if((n|0)!=0?(x=0,qa(k[Z>>2]|0,n|0),_=x,x=0,_&1):0){_=Wa(0)|0;oc(_)}fb(c|0);return 0}function hs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;v=r;r=r+432|0;h=v+424|0;a=v+24|0;y=v+16|0;q=v+8|0;n=v+4|0;o=v+428|0;j=v;k[y>>2]=a;A=y+4|0;k[A>>2]=189;l=a+400|0;x=0;u=ta(68,e|0)|0;m=x;x=0;if(!(m&1)){k[n>>2]=u;x=0;m=Aa(37,n|0,44212)|0;a=x;x=0;a:do if(!(a&1)?(i[o>>0]=0,s=k[c>>2]|0,k[j>>2]=s,p=k[e+4>>2]|0,t=s,x=0,k[h>>2]=k[j>>2],p=ua(2,b|0,h|0,d|0,n|0,p|0,f|0,o|0,m|0,y|0,q|0,l|0)|0,e=x,x=0,!(e&1)):0){if(p){if(!(i[g>>0]&1))i[g>>0]=0;else k[k[g+8>>2]>>2]=0;k[g+4>>2]=0;if(i[o>>0]|0){x=0;a=Aa(k[(k[m>>2]|0)+44>>2]|0,m|0,45)|0;e=x;x=0;if(e&1)break;x=0;ra(92,g|0,a|0);e=x;x=0;if(e&1)break}x=0;j=Aa(k[(k[m>>2]|0)+44>>2]|0,m|0,48)|0;e=x;x=0;if(e&1)break;a=k[y>>2]|0;l=k[q>>2]|0;h=l+-4|0;b:do if(a>>>0>>0)do{if((k[a>>2]|0)!=(j|0))break b;a=a+4|0}while(a>>>0>>0);while(0);x=0;va(33,g|0,a|0,l|0)|0;g=x;x=0;if(g&1)break}a=k[b>>2]|0;do if(a){h=k[a+12>>2]|0;if((h|0)==(k[a+16>>2]|0)){x=0;a=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;g=x;x=0;if(g&1)break a}else a=k[h>>2]|0;if((a|0)==-1){k[b>>2]=0;h=1;break}else{h=(k[b>>2]|0)==0;break}}else h=1;while(0);do if(s){a=k[t+12>>2]|0;if((a|0)==(k[t+16>>2]|0)){x=0;a=ta(k[(k[s>>2]|0)+36>>2]|0,t|0)|0;t=x;x=0;if(t&1)break a}else a=k[a>>2]|0;if((a|0)!=-1)if(h)break;else{z=32;break}else{k[c>>2]=0;z=30;break}}else z=30;while(0);if((z|0)==30?h:0)z=32;if((z|0)==32)k[f>>2]=k[f>>2]|2;h=k[b>>2]|0;zm(u)|0;a=k[y>>2]|0;k[y>>2]=0;if((a|0)!=0?(x=0,qa(k[A>>2]|0,a|0),A=x,x=0,A&1):0){A=Wa(0)|0;oc(A)}r=v;return h|0}while(0);h=Wa()|0;zm(u)|0;a=k[y>>2]|0;k[y>>2]=0;if(!a)w=h;else z=38}else{h=Wa()|0;k[y>>2]=0;z=38}if((z|0)==38){x=0;qa(k[A>>2]|0,a|0);A=x;x=0;if(A&1){A=Wa(0)|0;oc(A)}else w=h}fb(w|0);return 0}function is(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;z=r;r=r+112|0;m=z+100|0;n=z+88|0;o=z+76|0;p=z+64|0;q=z+52|0;s=z+48|0;t=z+36|0;u=z+24|0;v=z+12|0;w=z;do if(a){a=Ss(b,43956)|0;Mb[k[(k[a>>2]|0)+44>>2]&127](m,a);w=k[m>>2]|0;i[c>>0]=w;i[c+1>>0]=w>>8;i[c+2>>0]=w>>16;i[c+3>>0]=w>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](n,a);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;ra(93,j|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[j>>2]=k[n>>2];k[j+4>>2]=k[n+4>>2];k[j+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;en(n);Mb[k[(k[a>>2]|0)+28>>2]&127](o,a);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;ra(93,h|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[h>>2]=k[o>>2];k[h+4>>2]=k[o+4>>2];k[h+8>>2]=k[o+8>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;en(o);h=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;k[d>>2]=h;h=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;k[e>>2]=h;Mb[k[(k[a>>2]|0)+20>>2]&127](p,a);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;ra(91,f|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)};k[f>>2]=k[p>>2];k[f+4>>2]=k[p+4>>2];k[f+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;Sm(p);Mb[k[(k[a>>2]|0)+24>>2]&127](q,a);if(!(i[g>>0]&1))i[g>>0]=0;else k[k[g+8>>2]>>2]=0;k[g+4>>2]=0;x=0;ra(93,g|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)}else{k[g>>2]=k[q>>2];k[g+4>>2]=k[q+4>>2];k[g+8>>2]=k[q+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;en(q);y=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}else{a=Ss(b,43892)|0;Mb[k[(k[a>>2]|0)+44>>2]&127](s,a);s=k[s>>2]|0;i[c>>0]=s;i[c+1>>0]=s>>8;i[c+2>>0]=s>>16;i[c+3>>0]=s>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](t,a);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;ra(93,j|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[j>>2]=k[t>>2];k[j+4>>2]=k[t+4>>2];k[j+8>>2]=k[t+8>>2];k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;en(t);Mb[k[(k[a>>2]|0)+28>>2]&127](u,a);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;ra(93,h|0,0);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)};k[h>>2]=k[u>>2];k[h+4>>2]=k[u+4>>2];k[h+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;en(u);h=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;k[d>>2]=h;h=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;k[e>>2]=h;Mb[k[(k[a>>2]|0)+20>>2]&127](v,a);if(!(i[f>>0]&1)){i[f+1>>0]=0;i[f>>0]=0}else{i[k[f+8>>2]>>0]=0;k[f+4>>2]=0}x=0;ra(91,f|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)};k[f>>2]=k[v>>2];k[f+4>>2]=k[v+4>>2];k[f+8>>2]=k[v+8>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;Sm(v);Mb[k[(k[a>>2]|0)+24>>2]&127](w,a);if(!(i[g>>0]&1))i[g>>0]=0;else k[k[g+8>>2]>>2]=0;k[g+4>>2]=0;x=0;ra(93,g|0,0);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)}else{k[g>>2]=k[w>>2];k[g+4>>2]=k[w+4>>2];k[g+8>>2]=k[w+8>>2];k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;en(w);y=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}while(0);k[l>>2]=y;r=z;return}function js(a){a=a|0;return}function ks(a){a=a|0;mj(a);return}function ls(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=r;r=r+384|0;u=D+8|0;g=D;j=D+284|0;l=D+72|0;h=D+184|0;F=D+68|0;A=D+80|0;w=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;m=D+28|0;t=D+84|0;z=D+24|0;y=D+20|0;v=D+16|0;k[l>>2]=j;p[u>>3]=f;j=il(j,100,59018,u)|0;do if(j>>>0>99){x=0;a=Da(3)|0;C=x;x=0;if(!(C&1)?(x=0,p[g>>3]=f,q=Ea(17,l|0,a|0,59018,g|0)|0,C=x,x=0,!(C&1)):0){a=k[l>>2]|0;if(!a){x=0;Ga(6);C=x;x=0;if(C&1){a=0;g=0;C=7;break}a=k[l>>2]|0}h=Pl(q)|0;g=h;if(!h){x=0;Ga(6);C=x;x=0;if(C&1)C=7;else{s=0;C=10}}else{s=h;C=10}}else{a=0;g=0;C=7}}else{g=0;a=0;s=h;q=j;C=10}while(0);if((C|0)==10){x=0;h=ta(68,d|0)|0;o=x;x=0;if(o&1)C=7;else{k[F>>2]=h;x=0;o=Aa(37,F|0,44220)|0;n=x;x=0;if(!(n&1)?(n=k[l>>2]|0,x=0,Ea(k[(k[o>>2]|0)+32>>2]|0,o|0,n|0,n+q|0,s|0)|0,n=x,x=0,!(n&1)):0){if(!q)n=0;else n=(i[k[l>>2]>>0]|0)==45;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;x=0;za(3,c|0,n|0,F|0,A|0,w|0,B|0,G|0,I|0,H|0,m|0);c=x;x=0;if(!(c&1)){m=k[m>>2]|0;if((q|0)>(m|0)){c=i[H>>0]|0;j=i[I>>0]|0;j=(q-m<<1|1)+m+((c&1)==0?(c&255)>>>1:k[H+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[I+4>>2]|0)|0}else{c=i[H>>0]|0;j=i[I>>0]|0;j=m+2+((c&1)==0?(c&255)>>>1:k[H+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[I+4>>2]|0)|0}if(j>>>0>100){j=Pl(j)|0;l=j;if(!j){x=0;Ga(6);t=x;x=0;if(!(t&1)){j=0;C=26}}else C=26}else{l=0;j=t;C=26}if((C|0)==26){x=0;wa(1,j|0,z|0,y|0,k[d+4>>2]|0,s|0,s+q|0,o|0,n|0,A|0,i[w>>0]|0,i[B>>0]|0,G|0,I|0,H|0,m|0);B=x;x=0;if(!(B&1)?(k[v>>2]=k[b>>2],b=k[z>>2]|0,E=k[y>>2]|0,x=0,k[u>>2]=k[v>>2],E=sa(39,u|0,j|0,b|0,E|0,d|0,e|0)|0,b=x,x=0,!(b&1)):0){if(l){Ql(l);h=k[F>>2]|0}Sm(H);Sm(I);Sm(G);zm(h)|0;if(g)Ql(g);if(a)Ql(a);r=D;return E|0}}j=Wa()|0;if(l){Ql(l);h=k[F>>2]|0}}else j=Wa()|0;Sm(H);Sm(I);Sm(G)}else j=Wa()|0;zm(h)|0}}if((C|0)==7)j=Wa()|0;if(g)Ql(g);if(a)Ql(a);fb(j|0);return 0}function ms(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;o=D+108|0;p=D+96|0;t=D+92|0;u=D+80|0;v=D+68|0;w=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;q=D+12|0;s=D;do if(a){a=Ss(c,43828)|0;c=k[a>>2]|0;do if(b){Mb[k[c+44>>2]&127](o,a);b=k[o>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](p,a);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;ra(91,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[p>>2];k[j+4>>2]=k[p+4>>2];k[j+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;Sm(p);n=a;break}}else{Mb[k[c+40>>2]&127](t,a);b=k[t>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+28>>2]&127](u,a);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;ra(91,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[u>>2];k[j+4>>2]=k[u+4>>2];k[j+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;Sm(u);n=a;break}}while(0);j=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;i[e>>0]=j;j=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;i[f>>0]=j;Mb[k[(k[n>>2]|0)+20>>2]&127](v,a);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;ra(91,g|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)};k[g>>2]=k[v>>2];k[g+4>>2]=k[v+4>>2];k[g+8>>2]=k[v+8>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;Sm(v);Mb[k[(k[n>>2]|0)+24>>2]&127](w,a);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;ra(91,h|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)}else{k[h>>2]=k[w>>2];k[h+4>>2]=k[w+4>>2];k[h+8>>2]=k[w+8>>2];k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;Sm(w);C=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}else{a=Ss(c,43764)|0;c=k[a>>2]|0;do if(b){Mb[k[c+44>>2]&127](y,a);b=k[y>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](z,a);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;ra(91,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[z>>2];k[j+4>>2]=k[z+4>>2];k[j+8>>2]=k[z+8>>2];k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;Sm(z);m=a;break}}else{Mb[k[c+40>>2]&127](A,a);b=k[A>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+28>>2]&127](B,a);if(!(i[j>>0]&1)){i[j+1>>0]=0;i[j>>0]=0}else{i[k[j+8>>2]>>0]=0;k[j+4>>2]=0}x=0;ra(91,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[B>>2];k[j+4>>2]=k[B+4>>2];k[j+8>>2]=k[B+8>>2];k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;Sm(B);m=a;break}}while(0);j=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;i[e>>0]=j;j=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;i[f>>0]=j;Mb[k[(k[m>>2]|0)+20>>2]&127](q,a);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;ra(91,g|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)};k[g>>2]=k[q>>2];k[g+4>>2]=k[q+4>>2];k[g+8>>2]=k[q+8>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;Sm(q);Mb[k[(k[m>>2]|0)+24>>2]&127](s,a);if(!(i[h>>0]&1)){i[h+1>>0]=0;i[h>>0]=0}else{i[k[h+8>>2]>>0]=0;k[h+4>>2]=0}x=0;ra(91,h|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)}else{k[h>>2]=k[s>>2];k[h+4>>2]=k[s+4>>2];k[h+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;Sm(s);C=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}while(0);k[l>>2]=C;r=D;return}function ns(a,b,c,d,e,f,g,h,l,m,n,o,p,q,r){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;k[c>>2]=a;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(d&512|0)==0;J=p+8|0;K=p+1|0;L=g+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(i[l+z>>0]|0){case 0:{k[b>>2]=k[c>>2];break}case 1:{k[b>>2]=k[c>>2];x=Vb[k[(k[g>>2]|0)+28>>2]&63](g,32)|0;y=k[c>>2]|0;k[c>>2]=y+1;i[y>>0]=x;break}case 3:{y=i[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:k[N>>2]|0)|0){x=i[(s?P:k[O>>2]|0)>>0]|0;y=k[c>>2]|0;k[c>>2]=y+1;i[y>>0]=x}break}case 2:{u=i[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:k[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:k[J>>2]|0;v=t+u|0;s=k[c>>2]|0;if(u)do{i[s>>0]=i[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));k[c>>2]=s}break}case 4:{s=k[c>>2]|0;e=h?e+1|0:e;w=e;v=k[L>>2]|0;a:do if(e>>>0>>0){t=e;do{u=i[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(j[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=e;while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>e>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=i[u>>0]|0;v=k[c>>2]|0;k[c>>2]=v+1;i[v>>0]=y;v=(w|0)>1;if(!(u>>>0>e>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Vb[k[(k[g>>2]|0)+28>>2]&63](g,48)|0;else w=0;t=k[c>>2]|0;k[c>>2]=t+1;if((y|0)>0){v=y;while(1){i[t>>0]=w;t=k[c>>2]|0;k[c>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}i[t>>0]=m}else u=t;if((u|0)!=(e|0)){y=i[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:k[A>>2]|0)|0))t=-1;else t=i[(t?C:k[B>>2]|0)>>0]|0;if((u|0)!=(e|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=k[c>>2]|0;k[c>>2]=y+1;i[y>>0]=n;v=v+1|0;y=i[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:k[A>>2]|0)>>>0){t=i[(t?C:k[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=i[u>>0]|0;y=k[c>>2]|0;k[c>>2]=y+1;i[y>>0]=x;if((u|0)==(e|0))break;else w=w+1|0}}}else{x=Vb[k[(k[g>>2]|0)+28>>2]&63](g,48)|0;y=k[c>>2]|0;k[c>>2]=y+1;i[y>>0]=x}t=k[c>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=i[s>>0]|0;i[s>>0]=i[t>>0]|0;i[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=i[q>>0]|0;e=(t&1)==0;t=e?(t&255)>>>1:k[N>>2]|0;if(t>>>0>1){s=e?P:k[O>>2]|0;u=s+t|0;e=k[c>>2]|0;if((t|0)!=1){s=s+1|0;do{i[e>>0]=i[s>>0]|0;e=e+1|0;s=s+1|0}while((s|0)!=(u|0))}k[c>>2]=e}switch(d&176|0){case 32:{k[b>>2]=k[c>>2];break}case 16:break;default:k[b>>2]=a}return}function os(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=r;r=r+176|0;p=z+56|0;B=z+52|0;w=z+64|0;t=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;l=z+12|0;o=z+68|0;v=z+8|0;u=z+4|0;q=z;a=tn(d)|0;k[B>>2]=a;x=0;s=Aa(37,B|0,44220)|0;n=x;x=0;do if(n&1)F=13;else{m=i[f>>0]|0;g=(m&1)==0;n=f+4|0;if(!((g?(m&255)>>>1:k[n>>2]|0)|0))m=0;else{g=i[(g?f+1|0:k[f+8>>2]|0)>>0]|0;x=0;h=Aa(k[(k[s>>2]|0)+28>>2]|0,s|0,45)|0;m=x;x=0;if(m&1){F=13;break}m=g<<24>>24==h<<24>>24}k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;x=0;za(3,c|0,m|0,B|0,w|0,t|0,y|0,C|0,E|0,D|0,l|0);j=x;x=0;if(!(j&1)){j=i[f>>0]|0;c=k[n>>2]|0;g=(j&1)==0?(j&255)>>>1:c;l=k[l>>2]|0;if((g|0)>(l|0)){G=i[D>>0]|0;h=i[E>>0]|0;g=(g-l<<1|1)+l+((G&1)==0?(G&255)>>>1:k[D+4>>2]|0)+((h&1)==0?(h&255)>>>1:k[E+4>>2]|0)|0}else{G=i[D>>0]|0;g=i[E>>0]|0;g=l+2+((G&1)==0?(G&255)>>>1:k[D+4>>2]|0)+((g&1)==0?(g&255)>>>1:k[E+4>>2]|0)|0}if(g>>>0>100){g=Pl(g)|0;h=g;if(!g){x=0;Ga(6);G=x;x=0;if(!(G&1)){j=i[f>>0]|0;c=k[n>>2]|0;g=0;F=17}}else F=17}else{h=0;g=o;F=17}if((F|0)==17){G=(j&1)==0;f=G?f+1|0:k[f+8>>2]|0;x=0;wa(1,g|0,v|0,u|0,k[d+4>>2]|0,f|0,f+(G?(j&255)>>>1:c)|0,s|0,m|0,w|0,i[t>>0]|0,i[y>>0]|0,C|0,E|0,D|0,l|0);G=x;x=0;if(!(G&1)?(k[q>>2]=k[b>>2],G=k[v>>2]|0,A=k[u>>2]|0,x=0,k[p>>2]=k[q>>2],A=sa(39,p|0,g|0,G|0,A|0,d|0,e|0)|0,G=x,x=0,!(G&1)):0){if(h){Ql(h);a=k[B>>2]|0}Sm(D);Sm(E);Sm(C);zm(a)|0;r=z;return A|0}}g=Wa()|0;if(h){Ql(h);a=k[B>>2]|0}}else g=Wa()|0;Sm(D);Sm(E);Sm(C)}while(0);if((F|0)==13)g=Wa()|0;zm(a)|0;fb(g|0);return 0}function ps(a){a=a|0;return}function qs(a){a=a|0;mj(a);return}function rs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=r;r=r+992|0;u=D+8|0;g=D;j=D+888|0;l=D+880|0;h=D+480|0;F=D+76|0;A=D+884|0;w=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;m=D+28|0;t=D+80|0;z=D+24|0;y=D+20|0;v=D+16|0;k[l>>2]=j;p[u>>3]=f;j=il(j,100,59018,u)|0;do if(j>>>0>99){x=0;a=Da(3)|0;C=x;x=0;if(!(C&1)?(x=0,p[g>>3]=f,q=Ea(17,l|0,a|0,59018,g|0)|0,C=x,x=0,!(C&1)):0){a=k[l>>2]|0;if(!a){x=0;Ga(6);C=x;x=0;if(C&1){a=0;g=0;C=7;break}a=k[l>>2]|0}h=Pl(q<<2)|0;g=h;if(!h){x=0;Ga(6);C=x;x=0;if(C&1)C=7;else{s=0;C=10}}else{s=h;C=10}}else{a=0;g=0;C=7}}else{g=0;a=0;s=h;q=j;C=10}while(0);if((C|0)==10){x=0;h=ta(68,d|0)|0;o=x;x=0;if(o&1)C=7;else{k[F>>2]=h;x=0;o=Aa(37,F|0,44212)|0;n=x;x=0;if(!(n&1)?(n=k[l>>2]|0,x=0,Ea(k[(k[o>>2]|0)+48>>2]|0,o|0,n|0,n+q|0,s|0)|0,n=x,x=0,!(n&1)):0){if(!q)n=0;else n=(i[k[l>>2]>>0]|0)==45;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;x=0;za(4,c|0,n|0,F|0,A|0,w|0,B|0,G|0,I|0,H|0,m|0);c=x;x=0;if(!(c&1)){m=k[m>>2]|0;if((q|0)>(m|0)){c=i[H>>0]|0;j=i[I>>0]|0;j=(q-m<<1|1)+m+((c&1)==0?(c&255)>>>1:k[H+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[I+4>>2]|0)|0}else{c=i[H>>0]|0;j=i[I>>0]|0;j=m+2+((c&1)==0?(c&255)>>>1:k[H+4>>2]|0)+((j&1)==0?(j&255)>>>1:k[I+4>>2]|0)|0}if(j>>>0>100){j=Pl(j<<2)|0;l=j;if(!j){x=0;Ga(6);t=x;x=0;if(!(t&1)){j=0;C=26}}else C=26}else{l=0;j=t;C=26}if((C|0)==26){x=0;wa(2,j|0,z|0,y|0,k[d+4>>2]|0,s|0,s+(q<<2)|0,o|0,n|0,A|0,k[w>>2]|0,k[B>>2]|0,G|0,I|0,H|0,m|0);B=x;x=0;if(!(B&1)?(k[v>>2]=k[b>>2],b=k[z>>2]|0,E=k[y>>2]|0,x=0,k[u>>2]=k[v>>2],E=sa(40,u|0,j|0,b|0,E|0,d|0,e|0)|0,b=x,x=0,!(b&1)):0){if(l){Ql(l);h=k[F>>2]|0}en(H);en(I);Sm(G);zm(h)|0;if(g)Ql(g);if(a)Ql(a);r=D;return E|0}}j=Wa()|0;if(l){Ql(l);h=k[F>>2]|0}}else j=Wa()|0;en(H);en(I);Sm(G)}else j=Wa()|0;zm(h)|0}}if((C|0)==7)j=Wa()|0;if(g)Ql(g);if(a)Ql(a);fb(j|0);return 0}function ss(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;B=r;r=r+112|0;m=B+108|0;n=B+96|0;q=B+92|0;s=B+80|0;t=B+68|0;u=B+56|0;v=B+52|0;w=B+40|0;y=B+36|0;z=B+24|0;o=B+12|0;p=B;do if(a){a=Ss(c,43956)|0;c=k[a>>2]|0;do if(b){Mb[k[c+44>>2]&127](m,a);b=k[m>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](n,a);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;ra(93,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[n>>2];k[j+4>>2]=k[n+4>>2];k[j+8>>2]=k[n+8>>2];k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;en(n);break}}else{Mb[k[c+40>>2]&127](q,a);b=k[q>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+28>>2]&127](s,a);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;ra(93,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[s>>2];k[j+4>>2]=k[s+4>>2];k[j+8>>2]=k[s+8>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;en(s);break}}while(0);j=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;k[e>>2]=j;j=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;k[f>>2]=j;Mb[k[(k[a>>2]|0)+20>>2]&127](t,a);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;ra(91,g|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)};k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;Sm(t);Mb[k[(k[a>>2]|0)+24>>2]&127](u,a);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;ra(93,h|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)}else{k[h>>2]=k[u>>2];k[h+4>>2]=k[u+4>>2];k[h+8>>2]=k[u+8>>2];k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;en(u);A=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}else{a=Ss(c,43892)|0;c=k[a>>2]|0;do if(b){Mb[k[c+44>>2]&127](v,a);b=k[v>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+32>>2]&127](w,a);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;ra(93,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[w>>2];k[j+4>>2]=k[w+4>>2];k[j+8>>2]=k[w+8>>2];k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;en(w);break}}else{Mb[k[c+40>>2]&127](y,a);b=k[y>>2]|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;Mb[k[(k[a>>2]|0)+28>>2]&127](z,a);if(!(i[j>>0]&1))i[j>>0]=0;else k[k[j+8>>2]>>2]=0;k[j+4>>2]=0;x=0;ra(93,j|0,0);d=x;x=0;if(d&1){j=Wa(0)|0;oc(j)}else{k[j>>2]=k[z>>2];k[j+4>>2]=k[z+4>>2];k[j+8>>2]=k[z+8>>2];k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;en(z);break}}while(0);j=Ob[k[(k[a>>2]|0)+12>>2]&127](a)|0;k[e>>2]=j;j=Ob[k[(k[a>>2]|0)+16>>2]&127](a)|0;k[f>>2]=j;Mb[k[(k[a>>2]|0)+20>>2]&127](o,a);if(!(i[g>>0]&1)){i[g+1>>0]=0;i[g>>0]=0}else{i[k[g+8>>2]>>0]=0;k[g+4>>2]=0}x=0;ra(91,g|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)};k[g>>2]=k[o>>2];k[g+4>>2]=k[o+4>>2];k[g+8>>2]=k[o+8>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;Sm(o);Mb[k[(k[a>>2]|0)+24>>2]&127](p,a);if(!(i[h>>0]&1))i[h>>0]=0;else k[k[h+8>>2]>>2]=0;k[h+4>>2]=0;x=0;ra(93,h|0,0);f=x;x=0;if(f&1){f=Wa(0)|0;oc(f)}else{k[h>>2]=k[p>>2];k[h+4>>2]=k[p+4>>2];k[h+8>>2]=k[p+8>>2];k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;en(p);A=Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0;break}}while(0);k[l>>2]=A;r=B;return}function ts(a,b,c,d,e,f,g,h,j,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;k[c>>2]=a;J=p+4|0;K=p+8|0;C=o+4|0;D=(d&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(i[j+z>>0]|0){case 0:{k[b>>2]=k[c>>2];break}case 1:{k[b>>2]=k[c>>2];x=Vb[k[(k[g>>2]|0)+44>>2]&63](g,32)|0;y=k[c>>2]|0;k[c>>2]=y+4;k[y>>2]=x;break}case 3:{y=i[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:k[J>>2]|0)|0){x=k[(r?J:k[K>>2]|0)>>2]|0;y=k[c>>2]|0;k[c>>2]=y+4;k[y>>2]=x}break}case 2:{v=i[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:k[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:k[E>>2]|0;t=r+(v<<2)|0;u=k[c>>2]|0;if(v){s=u;while(1){k[s>>2]=k[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}k[c>>2]=u+(v<<2)}break}case 4:{r=k[c>>2]|0;e=h?e+4|0:e;a:do if(e>>>0>>0){s=e;do{if(!(Qb[k[(k[g>>2]|0)+12>>2]&63](g,2048,k[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=e;while(0);if(F){if(s>>>0>e>>>0&A){v=k[c>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;k[v>>2]=k[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>e>>>0&u){v=t;u=w}else{v=w;break}}k[c>>2]=t;t=v}else{u=A;t=q}if(u)w=Vb[k[(k[g>>2]|0)+44>>2]&63](g,48)|0;else w=0;x=k[c>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){k[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}k[c>>2]=x+(u+2<<2);k[x+(u+1<<2)>>2]=l}if((s|0)==(e|0)){x=Vb[k[(k[g>>2]|0)+44>>2]&63](g,48)|0;y=k[c>>2]|0;s=y+4|0;k[c>>2]=s;k[y>>2]=x}else{x=i[n>>0]|0;t=(x&1)==0;y=k[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=i[(t?I:k[H>>2]|0)>>0]|0;if((s|0)!=(e|0)){w=0;x=0;while(1){u=k[c>>2]|0;if((x|0)==(t|0)){v=u+4|0;k[c>>2]=v;k[u>>2]=m;w=w+1|0;u=i[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=i[(t?I:k[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=k[s>>2]|0;k[c>>2]=u+4;k[u>>2]=x;if((s|0)==(e|0))break;else x=v+1|0}}s=k[c>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=k[r>>2]|0;k[r>>2]=k[s>>2];k[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=i[p>>0]|0;e=(r&1)==0;r=e?(r&255)>>>1:k[J>>2]|0;if(r>>>0>1){s=e?J:k[K>>2]|0;e=s+4|0;s=s+(r<<2)|0;t=k[c>>2]|0;u=s-e|0;if((r|0)!=1){r=t;while(1){k[r>>2]=k[e>>2];e=e+4|0;if((e|0)==(s|0))break;else r=r+4|0}}k[c>>2]=t+(u>>>2<<2)}switch(d&176|0){case 32:{k[b>>2]=k[c>>2];break}case 16:break;default:k[b>>2]=a}return}function us(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=r;r=r+480|0;o=z+468|0;B=z+464|0;w=z+472|0;t=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;l=z+12|0;n=z+64|0;v=z+8|0;u=z+4|0;p=z;a=tn(d)|0;k[B>>2]=a;x=0;q=Aa(37,B|0,44212)|0;s=x;x=0;do if(s&1)F=13;else{m=i[f>>0]|0;g=(m&1)==0;s=f+4|0;if(!((g?(m&255)>>>1:k[s>>2]|0)|0))m=0;else{g=k[(g?s:k[f+8>>2]|0)>>2]|0;x=0;h=Aa(k[(k[q>>2]|0)+44>>2]|0,q|0,45)|0;m=x;x=0;if(m&1){F=13;break}m=(g|0)==(h|0)}k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;x=0;za(4,c|0,m|0,B|0,w|0,t|0,y|0,C|0,E|0,D|0,l|0);j=x;x=0;if(!(j&1)){j=i[f>>0]|0;c=k[s>>2]|0;g=(j&1)==0?(j&255)>>>1:c;l=k[l>>2]|0;if((g|0)>(l|0)){G=i[D>>0]|0;h=i[E>>0]|0;g=(g-l<<1|1)+l+((G&1)==0?(G&255)>>>1:k[D+4>>2]|0)+((h&1)==0?(h&255)>>>1:k[E+4>>2]|0)|0}else{G=i[D>>0]|0;g=i[E>>0]|0;g=l+2+((G&1)==0?(G&255)>>>1:k[D+4>>2]|0)+((g&1)==0?(g&255)>>>1:k[E+4>>2]|0)|0}if(g>>>0>100){g=Pl(g<<2)|0;h=g;if(!g){x=0;Ga(6);G=x;x=0;if(!(G&1)){j=i[f>>0]|0;c=k[s>>2]|0;g=0;F=17}}else F=17}else{h=0;g=n;F=17}if((F|0)==17){G=(j&1)==0;f=G?s:k[f+8>>2]|0;x=0;wa(2,g|0,v|0,u|0,k[d+4>>2]|0,f|0,f+((G?(j&255)>>>1:c)<<2)|0,q|0,m|0,w|0,k[t>>2]|0,k[y>>2]|0,C|0,E|0,D|0,l|0);G=x;x=0;if(!(G&1)?(k[p>>2]=k[b>>2],G=k[v>>2]|0,A=k[u>>2]|0,x=0,k[o>>2]=k[p>>2],A=sa(40,o|0,g|0,G|0,A|0,d|0,e|0)|0,G=x,x=0,!(G&1)):0){if(h){Ql(h);a=k[B>>2]|0}en(D);en(E);Sm(C);zm(a)|0;r=z;return A|0}}g=Wa()|0;if(h){Ql(h);a=k[B>>2]|0}}else g=Wa()|0;en(D);en(E);Sm(C)}while(0);if((F|0)==13)g=Wa()|0;zm(a)|0;fb(g|0);return 0}function vs(a){a=a|0;return}function ws(a){a=a|0;mj(a);return}function xs(a,b,c){a=a|0;b=b|0;c=c|0;a=vk((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0,1)|0;return a>>>((a|0)!=(-1|0)&1)|0}function ys(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0;h=r;r=r+16|0;j=h;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;g=i[f>>0]|0;l=(g&1)==0;b=l?f+1|0:k[f+8>>2]|0;g=l?(g&255)>>>1:k[f+4>>2]|0;f=b+g|0;a:do if((g|0)>0){while(1){x=0;ra(67,j|0,i[b>>0]|0);l=x;x=0;if(l&1)break;b=b+1|0;if(b>>>0>=f>>>0){g=4;break a}}b=Wa()|0;g=7}else g=4;while(0);b:do if((g|0)==4){x=0;b=Ea(19,((c|0)==-1?-1:c<<1)|0,d|0,e|0,((i[j>>0]&1)==0?j+1|0:k[j+8>>2]|0)|0)|0;l=x;x=0;if(l&1){b=Wa()|0;g=7;break}k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;l=xl(b)|0;f=b+l|0;c:do if((l|0)>0){while(1){x=0;ra(67,a|0,i[b>>0]|0);l=x;x=0;if(l&1)break;b=b+1|0;if(b>>>0>=f>>>0)break c}b=Wa()|0;Sm(a);break b}while(0);Sm(j);r=h;return}while(0);Sm(j);fb(b|0)}function zs(a,b){a=a|0;b=b|0;return}function As(a){a=a|0;return}function Bs(a){a=a|0;mj(a);return}function Cs(a,b,c){a=a|0;b=b|0;c=c|0;a=vk((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0,1)|0;return a>>>((a|0)!=(-1|0)&1)|0}function Ds(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;v=r;r=r+224|0;n=v+184|0;m=v+192|0;l=v+180|0;o=v+176|0;t=v+168|0;s=v+40|0;q=v+32|0;u=v+28|0;w=v+16|0;j=v+8|0;p=v;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[j+4>>2]=0;k[j>>2]=44696;h=i[f>>0]|0;y=(h&1)==0;g=f+4|0;b=y?g:k[f+8>>2]|0;f=y?(h&255)>>>1:k[g>>2]|0;g=b+(f<<2)|0;h=m+32|0;a:do if((f|0)>0){b:while(1){k[o>>2]=b;x=0;f=Ha(k[(k[j>>2]|0)+12>>2]|0,j|0,n|0,b|0,g|0,o|0,m|0,h|0,l|0)|0;y=x;x=0;if(y&1){f=12;break}if((f|0)==2?1:(k[o>>2]|0)==(b|0)){f=5;break}if(m>>>0<(k[l>>2]|0)>>>0){b=m;do{x=0;ra(67,w|0,i[b>>0]|0);y=x;x=0;if(y&1){f=11;break b}b=b+1|0}while(b>>>0<(k[l>>2]|0)>>>0)}b=k[o>>2]|0;if(!((f|0)!=2&b>>>0>>0)){f=9;break a}}if((f|0)==5){x=0;qa(190,58955);x=0;b=Wa()|0}else if((f|0)==11)b=Wa()|0;else if((f|0)==12)b=Wa()|0}else f=9;while(0);c:do if((f|0)==9){x=0;b=Ea(19,((c|0)==-1?-1:c<<1)|0,d|0,e|0,((i[w>>0]&1)==0?w+1|0:k[w+8>>2]|0)|0)|0;y=x;x=0;if(y&1){b=Wa()|0;break}k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[p+4>>2]=0;k[p>>2]=44744;y=xl(b)|0;g=b+y|0;h=g;j=s+128|0;d:do if((y|0)>0){e:while(1){k[u>>2]=b;x=0;f=Ha(k[(k[p>>2]|0)+16>>2]|0,p|0,t|0,b|0,((h-b|0)>32?b+32|0:g)|0,u|0,s|0,j|0,q|0)|0;y=x;x=0;if(y&1){f=24;break}if((f|0)==2?1:(k[u>>2]|0)==(b|0)){f=18;break}if(s>>>0<(k[q>>2]|0)>>>0){b=s;do{x=0;ra(92,a|0,k[b>>2]|0);y=x;x=0;if(y&1){f=23;break e}b=b+4|0}while(b>>>0<(k[q>>2]|0)>>>0)}b=k[u>>2]|0;if(!((f|0)!=2&b>>>0>>0))break d}if((f|0)==18){x=0;qa(190,58955);x=0;b=Wa()|0}else if((f|0)==23)b=Wa()|0;else if((f|0)==24)b=Wa()|0;en(a);break c}while(0);Sm(w);r=v;return}while(0);Sm(w);fb(b|0)}function Es(a,b){a=a|0;b=b|0;return}function Fs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;k[a+4>>2]=b+-1;k[a>>2]=44196;f=a+8|0;x=0;ra(94,f|0,28);e=x;x=0;if(e&1)b=Wa()|0;else{e=a+144|0;x=0;Fa(5,e|0,58885,1);d=x;x=0;if(d&1)b=Wa()|0;else{c=k[f>>2]|0;d=a+12|0;b=k[d>>2]|0;if((b|0)!=(c|0)){do b=b+-4|0;while((b|0)!=(c|0));k[d>>2]=b}k[495]=0;k[494]=43124;x=0;ra(95,a|0,1976);d=x;x=0;do if(((((((((((((!(d&1)?(k[497]=0,k[496]=43164,x=0,ra(96,a|0,1984),d=x,x=0,!(d&1)):0)?(k[499]=0,k[498]=44236,k[500]=0,i[2004]=0,d=Ys()|0,k[500]=d,x=0,ra(97,a|0,1992),d=x,x=0,!(d&1)):0)?(k[503]=0,k[502]=44484,x=0,ra(98,a|0,2008),d=x,x=0,!(d&1)):0)?(k[505]=0,k[504]=44552,x=0,ra(99,a|0,2016),d=x,x=0,!(d&1)):0)?(x=0,ra(100,2024,1),d=x,x=0,!(d&1)):0)?(x=0,ra(101,a|0,2024),d=x,x=0,!(d&1)):0)?(k[511]=0,k[510]=44600,x=0,ra(102,a|0,2040),d=x,x=0,!(d&1)):0)?(k[513]=0,k[512]=44648,x=0,ra(103,a|0,2048),d=x,x=0,!(d&1)):0)?(bu(2056,1),x=0,ra(104,a|0,2056),d=x,x=0,!(d&1)):0)?(cu(2080,1),x=0,ra(105,a|0,2080),d=x,x=0,!(d&1)):0)?(k[529]=0,k[528]=43204,x=0,ra(106,a|0,2112),d=x,x=0,!(d&1)):0)?(k[531]=0,k[530]=43276,x=0,ra(107,a|0,2120),d=x,x=0,!(d&1)):0)?(k[533]=0,k[532]=43348,x=0,ra(108,a|0,2128),d=x,x=0,!(d&1)):0){k[535]=0;k[534]=43408;x=0;ra(109,a|0,2136);d=x;x=0;if(d&1){g=42;break}k[537]=0;k[536]=43716;x=0;ra(110,a|0,2144);d=x;x=0;if(d&1){g=42;break}k[539]=0;k[538]=43780;x=0;ra(111,a|0,2152);d=x;x=0;if(d&1){g=42;break}k[541]=0;k[540]=43844;x=0;ra(112,a|0,2160);d=x;x=0;if(d&1){g=42;break}k[543]=0;k[542]=43908;x=0;ra(113,a|0,2168);d=x;x=0;if(d&1){g=42;break}k[545]=0;k[544]=43972;x=0;ra(114,a|0,2176);d=x;x=0;if(d&1){g=42;break}k[547]=0;k[546]=44008;x=0;ra(115,a|0,2184);d=x;x=0;if(d&1){g=42;break}k[549]=0;k[548]=44044;x=0;ra(116,a|0,2192);d=x;x=0;if(d&1){g=42;break}k[551]=0;k[550]=44080;x=0;ra(117,a|0,2200);d=x;x=0;if(d&1){g=42;break}k[553]=0;k[552]=43468;k[554]=43516;x=0;ra(118,a|0,2208);d=x;x=0;if(d&1){g=42;break}k[557]=0;k[556]=43560;k[558]=43608;x=0;ra(119,a|0,2224);d=x;x=0;if(d&1){g=42;break}k[561]=0;k[560]=44464;x=0;b=Da(3)|0;d=x;x=0;if(d&1){b=Wa()|0;break}k[562]=b;k[560]=43652;x=0;ra(120,a|0,2240);d=x;x=0;if(d&1){g=42;break}k[565]=0;k[564]=44464;x=0;b=Da(3)|0;d=x;x=0;if(d&1){b=Wa()|0;break}k[566]=b;k[564]=43684;x=0;ra(121,a|0,2256);g=x;x=0;if(g&1){g=42;break}k[569]=0;k[568]=44116;x=0;ra(122,a|0,2272);g=x;x=0;if(g&1){g=42;break}k[571]=0;k[570]=44156;x=0;ra(123,a|0,2280);g=x;x=0;if(g&1){g=42;break}return}else g=42;while(0);if((g|0)==42)b=Wa()|0;Sm(e)}Nv(f)}fb(b|0)}function Gs(){var a=0;do if((i[2288]|0)==0?(Qa(2288)|0)!=0:0){x=0;Da(4)|0;a=x;x=0;if(a&1){a=Wa()|0;Bb(2288);fb(a|0)}else{k[11246]=44980;Ya(2288);break}}while(0);return k[11246]|0}function Hs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;ym(b);e=a+8|0;d=k[e>>2]|0;do if((k[a+12>>2]|0)-d>>2>>>0<=c>>>0){x=0;ra(124,e|0,c+1|0);a=x;x=0;if(!(a&1)){d=k[e>>2]|0;break}d=Wa()|0;if(b)zm(b)|0;fb(d|0)}while(0);a=k[d+(c<<2)>>2]|0;if(a){zm(a)|0;d=k[e>>2]|0}k[d+(c<<2)>>2]=b;return}function Is(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=44196;d=a+8|0;e=a+12|0;b=k[d>>2]|0;if((k[e>>2]|0)!=(b|0)){c=0;do{b=k[b+(c<<2)>>2]|0;if(b)zm(b)|0;c=c+1|0;b=k[d>>2]|0}while(c>>>0<(k[e>>2]|0)-b>>2>>>0)}Sm(a+144|0);Nv(d);return}function Js(a){a=a|0;Is(a);mj(a);return}function Ks(a,b){a=a|0;b=b|0;if(Pv(a,b)|0)return k[(k[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Va(4)|0;Aj(a);ub(a|0,640,82)}return 0}function Ls(){Fs(2296,1);k[11245]=2296;return 44980}function Ms(){var a=0;a=Gs()|0;a=k[a>>2]|0;k[11247]=a;ym(a);return 44988}function Ns(){var a=0;do if((i[2456]|0)==0?(Qa(2456)|0)!=0:0){x=0;Da(5)|0;a=x;x=0;if(a&1){a=Wa()|0;Bb(2456);fb(a|0)}else{k[11248]=44988;Ya(2456);break}}while(0);return k[11248]|0}function Os(a){a=a|0;var b=0,c=0;x=0;b=Da(6)|0;c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)}else{c=k[b>>2]|0;k[a>>2]=c;ym(c);return}}function Ps(a,b){a=a|0;b=b|0;b=k[b>>2]|0;k[a>>2]=b;ym(b);return}function Qs(a){a=a|0;zm(k[a>>2]|0)|0;return}function Rs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;if((k[a>>2]|0)!=-1){k[b>>2]=a;k[b+4>>2]=191;k[b+8>>2]=0;Om(a,b,192)}r=c;return (k[a+4>>2]|0)+-1|0}function Ss(a,b){a=a|0;b=b|0;a=k[a>>2]|0;return Ks(a,Rs(b)|0)|0}function Ts(a){a=a|0;mj(a);return}function Us(a){a=a|0;if(a)Lb[k[(k[a>>2]|0)+4>>2]&255](a);return}function Vs(a){a=a|0;var b=0;b=k[11052]|0;k[11052]=b+1;k[a+4>>2]=b+1;return}function Ws(a){a=a|0;mj(a);return}function Xs(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<128){c=(Ys()|0)+(c<<1)|0;c=(j[c>>1]&b)<<16>>16!=0}else c=0;return c|0}function Ys(){var a=0,b=0;x=0;a=Da(7)|0;b=x;x=0;if(b&1){b=Wa(0)|0;oc(b)}else return k[a>>2]|0;return 0}function Zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=(c-b|0)>>>2;if((b|0)!=(c|0)){e=b;while(1){a=k[e>>2]|0;if(a>>>0<128){a=(Ys()|0)+(a<<1)|0;a=m[a>>1]|0}else a=0;j[d>>1]=a;e=e+4|0;if((e|0)==(c|0))break;else d=d+2|0}}return b+(f<<2)|0}function _s(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:do if((c|0)==(d|0))c=d;else while(1){a=k[c>>2]|0;if(a>>>0<128?(a=(Ys()|0)+(a<<1)|0,(j[a>>1]&b)<<16>>16!=0):0)break a;c=c+4|0;if((c|0)==(d|0)){c=d;break}}while(0);return c|0}function $s(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:do if((c|0)==(d|0))c=d;else while(1){a=k[c>>2]|0;if(a>>>0>=128)break a;a=(Ys()|0)+(a<<1)|0;if(!((j[a>>1]&b)<<16>>16))break a;c=c+4|0;if((c|0)==(d|0)){c=d;break}}while(0);return c|0}function at(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(bt()|0)+(b<<2)|0;b=k[b>>2]|0}return b|0}function bt(){var a=0,b=0;x=0;a=Da(8)|0;b=x;x=0;if(b&1){b=Wa(0)|0;oc(b)}else return k[a>>2]|0;return 0}function ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(c-b|0)>>>2;if((b|0)!=(c|0)){d=b;do{a=k[d>>2]|0;if(a>>>0<128){a=(bt()|0)+(a<<2)|0;a=k[a>>2]|0}k[d>>2]=a;d=d+4|0}while((d|0)!=(c|0))}return b+(e<<2)|0}function dt(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(et()|0)+(b<<2)|0;b=k[b>>2]|0}return b|0}function et(){var a=0,b=0;x=0;a=Da(9)|0;b=x;x=0;if(b&1){b=Wa(0)|0;oc(b)}else return k[a>>2]|0;return 0}function ft(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(c-b|0)>>>2;if((b|0)!=(c|0)){d=b;do{a=k[d>>2]|0;if(a>>>0<128){a=(et()|0)+(a<<2)|0;a=k[a>>2]|0}k[d>>2]=a;d=d+4|0}while((d|0)!=(c|0))}return b+(e<<2)|0}function gt(a,b){a=a|0;b=b|0;return b<<24>>24|0}function ht(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)!=(c|0))while(1){k[d>>2]=i[b>>0];b=b+1|0;if((b|0)==(c|0))break;else d=d+4|0}return c|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function jt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=(c-b|0)>>>2;if((b|0)!=(c|0)){f=b;a=e;while(1){e=k[f>>2]|0;i[a>>0]=e>>>0<128?e&255:d;f=f+4|0;if((f|0)==(c|0))break;else a=a+1|0}}return b+(g<<2)|0}function kt(a){a=a|0;var b=0;k[a>>2]=44236;b=k[a+8>>2]|0;if((b|0)!=0?(i[a+12>>0]|0)!=0:0)nj(b);return}function lt(a){a=a|0;kt(a);mj(a);return}function mt(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(bt()|0)+((b&255)<<2)|0;b=k[b>>2]&255}return b|0}function nt(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=(c|0)){a=b;do{b=i[a>>0]|0;if(b<<24>>24>-1){b=(bt()|0)+(b<<24>>24<<2)|0;b=k[b>>2]&255}i[a>>0]=b;a=a+1|0}while((a|0)!=(c|0))}return c|0}function ot(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(et()|0)+(b<<24>>24<<2)|0;b=k[b>>2]&255}return b|0}function pt(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=(c|0)){a=b;do{b=i[a>>0]|0;if(b<<24>>24>-1){b=(et()|0)+(b<<24>>24<<2)|0;b=k[b>>2]&255}i[a>>0]=b;a=a+1|0}while((a|0)!=(c|0))}return c|0}function qt(a,b){a=a|0;b=b|0;return b|0}function rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)!=(c|0))while(1){i[d>>0]=i[b>>0]|0;b=b+1|0;if((b|0)==(c|0))break;else d=d+1|0}return c|0}function st(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if((b|0)!=(c|0))while(1){a=i[b>>0]|0;i[e>>0]=a<<24>>24>-1?a:d;b=b+1|0;if((b|0)==(c|0))break;else e=e+1|0}return c|0}function ut(a){a=a|0;mj(a);return}function vt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k[e>>2]=c;k[h>>2]=f;return 3}function wt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k[e>>2]=c;k[h>>2]=f;return 3}function xt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[e>>2]=c;return 3}function yt(a){a=a|0;return 1}function zt(a){a=a|0;return 1}function At(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return (a>>>0>>0?a:e)|0}function Bt(a){a=a|0;return 1}function Ct(a,b){a=a|0;b=b|0;var c=0;k[a+4>>2]=b+-1;k[a>>2]=44304;x=0;b=Da(3)|0;c=x;x=0;if(c&1){c=Wa()|0;fb(c|0)}else{k[a+8>>2]=b;return}}function Dt(a){a=a|0;Gu(a);mj(a);return}\nfunction Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+624|0;ba=ga+24|0;da=ga+16|0;ca=ga+588|0;Y=ga+576|0;aa=ga;V=ga+536|0;fa=ga+8|0;ea=ga+528|0;L=(a|0)!=0;N=V+40|0;U=N;V=V+39|0;W=fa+4|0;X=Y+12|0;Y=Y+11|0;Z=ca;_=X;$=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ba+288|0;R=ca+9|0;S=R;T=ca+8|0;f=0;w=b;g=0;b=0;a:while(1){do if((f|0)>-1)if((g|0)>(2147483647-f|0)){f=mk()|0;k[f>>2]=75;f=-1;break}else{f=g+f|0;break}while(0);g=i[w>>0]|0;if(!(g<<24>>24)){K=245;break}else h=w;b:while(1){switch(g<<24>>24){case 37:{g=h;K=9;break b}case 0:{g=h;break b}default:{}}J=h+1|0;g=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[g+1>>0]|0)!=37)break c;h=h+1|0;g=g+2|0;if((i[g>>0]|0)==37)K=9;else break}while(0);y=h-w|0;if(L?(k[a>>2]&32|0)==0:0)fl(w,y,a)|0;if((h|0)!=(w|0)){w=g;g=y;continue}o=g+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[g+2>>0]|0)==36;o=J?g+3|0:o;h=i[o>>0]|0;u=J?m:-1;b=J?1:b}else u=-1;g=h<<24>>24;d:do if((g&-32|0)==32){m=0;while(1){if(!(1<>24)+-32|m;o=o+1|0;h=i[o>>0]|0;g=h<<24>>24;if((g&-32|0)!=32){q=m;g=o;break}}}else{q=0;g=o}while(0);do if(h<<24>>24==42){m=g+1|0;h=(i[m>>0]|0)+-48|0;if(h>>>0<10?(i[g+2>>0]|0)==36:0){k[e+(h<<2)>>2]=10;b=1;g=g+3|0;h=k[d+((i[m>>0]|0)+-48<<3)>>2]|0}else{if(b){f=-1;break a}if(!L){x=q;g=m;b=0;J=0;break}b=(k[c>>2]|0)+(4-1)&~(4-1);h=k[b>>2]|0;k[c>>2]=b+4;b=0;g=m}if((h|0)<0){x=q|8192;J=0-h|0}else{x=q;J=h}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){h=0;do{h=(h*10|0)+m|0;g=g+1|0;m=(i[g>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{x=q;J=h}}else{x=q;J=0}}while(0);e:do if((i[g>>0]|0)==46){m=g+1|0;h=i[m>>0]|0;if(h<<24>>24!=42){o=(h<<24>>24)+-48|0;if(o>>>0<10){g=m;h=0}else{g=m;o=0;break}while(1){h=(h*10|0)+o|0;g=g+1|0;o=(i[g>>0]|0)+-48|0;if(o>>>0>=10){o=h;break e}}}m=g+2|0;h=(i[m>>0]|0)+-48|0;if(h>>>0<10?(i[g+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;g=g+4|0;o=k[d+((i[m>>0]|0)+-48<<3)>>2]|0;break}if(b){f=-1;break a}if(L){g=(k[c>>2]|0)+(4-1)&~(4-1);o=k[g>>2]|0;k[c>>2]=g+4;g=m}else{g=m;o=0}}else o=-1;while(0);s=0;while(1){h=(i[g>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=g+1|0;h=i[56223+(s*58|0)+h>>0]|0;q=h&255;if((q+-1|0)>>>0<8){g=m;s=q}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=q;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=aa;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!L){f=0;break a}Ml(aa,q,c)}while(0);if((K|0)==52?(K=0,!L):0){w=I;g=y;continue}u=i[g>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=x&-65537;H=(x&8192|0)==0?x:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[aa>>2]>>2]=f;w=I;g=y;continue a}case 1:{k[k[aa>>2]>>2]=f;w=I;g=y;continue a}case 2:{w=k[aa>>2]|0;k[w>>2]=f;k[w+4>>2]=((f|0)<0)<<31>>31;w=I;g=y;continue a}case 3:{j[k[aa>>2]>>1]=f;w=I;g=y;continue a}case 4:{i[k[aa>>2]>>0]=f;w=I;g=y;continue a}case 6:{k[k[aa>>2]>>2]=f;w=I;g=y;continue a}case 7:{w=k[aa>>2]|0;k[w>>2]=f;k[w+4>>2]=((f|0)<0)<<31>>31;w=I;g=y;continue a}default:{w=I;g=y;continue a}}case 112:{s=H|8;o=o>>>0>8?o:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=aa;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)g=N;else{g=N;do{g=g+-1|0;i[g>>0]=h&7|48;h=uw(h|0,m|0,3)|0;m=M}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;q=56703;K=77}else{s=U-g+1|0;h=H;o=(o|0)<(s|0)?s:o;s=0;q=56703;K=77}break}case 105:case 100:{h=aa;g=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){g=rw(0,0,g|0,h|0)|0;h=M;m=aa;k[m>>2]=g;k[m+4>>2]=h;m=1;q=56703;K=76;break f}if(!(H&2048)){q=H&1;m=q;q=(q|0)==0?56703:56705;K=76}else{m=1;q=56704;K=76}break}case 117:{h=aa;g=k[h>>2]|0;h=k[h+4>>2]|0;m=0;q=56703;K=76;break}case 99:{i[V>>0]=k[aa>>2];w=V;h=1;s=0;u=56703;g=N;break}case 109:{g=mk()|0;g=nk(k[g>>2]|0)|0;K=82;break}case 115:{g=k[aa>>2]|0;g=(g|0)!=0?g:56713;K=82;break}case 67:{k[fa>>2]=k[aa>>2];k[W>>2]=0;k[aa>>2]=fa;o=-1;K=86;break}case 83:{if(!o){Ol(a,32,J,0,H);g=0;K=98}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[aa>>3];k[da>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)>=0)if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?56721:56726}else{F=1;G=56723}else{n=-n;F=1;G=56720}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){v=+Gk(n,da)*2.0;h=v!=0.0;if(h)k[da>>2]=(k[da>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?G:G+9|0;x=F|2;g=12-o|0;do if(!(o>>>0>11|(g|0)==0)){n=8.0;do{g=g+-1|0;n=n*16.0}while((g|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-v-n));break}else{n=v+n-n;break}}else n=v;while(0);h=k[da>>2]|0;g=(h|0)<0?0-h|0:h;g=Nl(g,((g|0)<0)<<31>>31,X)|0;if((g|0)==(X|0)){i[Y>>0]=48;g=Y}i[g+-1>>0]=(h>>31&2)+43;s=g+-2|0;i[s>>0]=u+15;q=(o|0)<1;m=(H&8|0)==0;h=ca;while(1){G=~~n;g=h+1|0;i[h>>0]=l[56687+G>>0]|w;n=(n-+(G|0))*16.0;do if((g-Z|0)==1){if(m&(q&n==0.0))break;i[g>>0]=46;g=h+2|0}while(0);if(!(n!=0.0))break;else h=g}o=(o|0)!=0&(O+g|0)<(o|0)?P+o-s|0:$-s+g|0;m=o+x|0;Ol(a,32,J,m,H);if(!(k[a>>2]&32))fl(y,x,a)|0;Ol(a,48,J,m,H^65536);g=g-Z|0;if(!(k[a>>2]&32))fl(ca,g,a)|0;h=_-s|0;Ol(a,48,o-(g+h)|0,0,0);if(!(k[a>>2]&32))fl(s,h,a)|0;Ol(a,32,J,m,H^8192);g=(m|0)<(J|0)?J:m;break}g=(o|0)<0?6:o;if(h){h=(k[da>>2]|0)+-28|0;k[da>>2]=h;n=v*268435456.0}else{n=v;h=k[da>>2]|0}E=(h|0)<0?ba:Q;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[da>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0>>0)o=q;else{h=0;do{B=ww(k[o>>2]|0,0,s|0)|0;B=tw(B|0,M|0,h|0,0)|0;h=M;A=Fw(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=Ew(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[da>>2]|0)-s|0;k[da>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((g+25|0)/9|0)+1|0;z=(C|0)==102;w=o;while(1){x=0-h|0;x=(x|0)>9?9:x;do if(w>>>0>>0){h=(1<>>x;o=0;s=w;do{B=k[s>>2]|0;k[s>>2]=(B>>>x)+o;o=ia(B&h,q)|0;s=s+4|0}while(s>>>0>>0);h=(k[w>>2]|0)==0?w+4|0:w;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[w>>2]|0)==0?w+4|0:w;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[da>>2]|0)+x|0;k[da>>2]=h;if((h|0)>=0){w=o;break}else w=o}}else w=o;do if(w>>>0>>0){h=(D-w>>2)*9|0;q=k[w>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(g|0)!=0;o=g-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;z=(s|0)/9|0;o=E+(z+-1023<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;x=k[o>>2]|0;y=(x>>>0)%(q>>>0)|0;if((y|0)==0?(E+(z+-1022<<2)|0)==(m|0):0)q=w;else K=163;do if((K|0)==163){K=0;v=(((x>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;s=(q|0)/2|0;do if(y>>>0>>0)n=.5;else{if((y|0)==(s|0)?(E+(z+-1022<<2)|0)==(m|0):0){n=1.0;break}n=1.5}while(0);do if(F){if((i[G>>0]|0)!=45)break;v=-v;n=-n}while(0);s=x-y|0;k[o>>2]=s;if(!(v+n!=v)){q=w;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=w;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{w=h;o=q;break}}}h=(D-w>>2)*9|0;s=k[w>>2]|0;if(s>>>0<10){q=w;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=w}while(0);C=o+4|0;w=q;m=m>>>0>C>>>0?C:m}y=0-h|0;while(1){if(m>>>0<=w>>>0){z=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{z=1;C=m;break}}do if(A){g=(B&1^1)+g|0;if((g|0)>(h|0)&(h|0)>-5){u=u+-1|0;g=g+-1-h|0}else{u=u+-2|0;g=g+-1|0}m=H&8;if(m)break;do if(z){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(((m>>>0)%(q>>>0)|0|0)==0)}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;g=(g|0)<(m|0)?g:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;g=(g|0)<(m|0)?g:m;m=0;break}}else m=H&8;while(0);x=g|m;q=(x|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?y:h;o=Nl(o,((o|0)<0)<<31>>31,X)|0;if((_-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((_-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=_-D|0;u=D}y=F+1+g+q+h|0;Ol(a,32,J,y,H);if(!(k[a>>2]&32))fl(G,F,a)|0;Ol(a,48,J,y,H^65536);do if(s){o=w>>>0>E>>>0?E:w;h=o;do{m=Nl(k[h>>2]|0,0,R)|0;do if((h|0)==(o|0)){if((m|0)!=(R|0))break;i[T>>0]=48;m=T}else{if(m>>>0<=ca>>>0)break;do{m=m+-1|0;i[m>>0]=48}while(m>>>0>ca>>>0)}while(0);if(!(k[a>>2]&32))fl(m,S-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(x){if(k[a>>2]&32)break;fl(56755,1,a)|0}while(0);if((g|0)>0&h>>>0>>0){m=h;while(1){h=Nl(k[m>>2]|0,0,R)|0;if(h>>>0>ca>>>0)do{h=h+-1|0;i[h>>0]=48}while(h>>>0>ca>>>0);if(!(k[a>>2]&32))fl(h,(g|0)>9?9:g,a)|0;m=m+4|0;h=g+-9|0;if(!((g|0)>9&m>>>0>>0)){g=h;break}else g=h}}Ol(a,48,g+9|0,9,0)}else{s=z?C:w+4|0;if((g|0)>-1){q=(m|0)==0;o=w;do{h=Nl(k[o>>2]|0,0,R)|0;if((h|0)==(R|0)){i[T>>0]=48;h=T}do if((o|0)==(w|0)){m=h+1|0;if(!(k[a>>2]&32))fl(h,1,a)|0;if(q&(g|0)<1){h=m;break}if(k[a>>2]&32){h=m;break}fl(56755,1,a)|0;h=m}else{if(h>>>0<=ca>>>0)break;do{h=h+-1|0;i[h>>0]=48}while(h>>>0>ca>>>0)}while(0);m=S-h|0;if(!(k[a>>2]&32))fl(h,(g|0)>(m|0)?m:g,a)|0;g=g-m|0;o=o+4|0}while(o>>>0>>0&(g|0)>-1)}Ol(a,48,g+18|0,18,0);if(k[a>>2]&32)break;fl(u,_-u|0,a)|0}while(0);Ol(a,32,J,y,H^8192);g=(y|0)<(J|0)?J:y}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;Ol(a,32,J,o,m);g=k[a>>2]|0;if(!(g&32)){fl(G,h,a)|0;g=k[a>>2]|0}if(!(g&32))fl(q?(s?56747:56751):s?56739:56743,3,a)|0;Ol(a,32,J,o,H^8192);g=(o|0)<(J|0)?J:o}while(0);w=I;continue a}default:{m=H;h=o;s=0;u=56703;g=N}}while(0);g:do if((K|0)==64){m=aa;h=k[m>>2]|0;m=k[m+4>>2]|0;q=u&32;if(!((h|0)==0&(m|0)==0)){g=N;do{g=g+-1|0;i[g>>0]=l[56687+(h&15)>>0]|q;h=uw(h|0,m|0,4)|0;m=M}while(!((h|0)==0&(m|0)==0));K=aa;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;q=56703;K=77}else{h=s;s=2;q=56703+(u>>4)|0;K=77}}else{g=N;h=s;s=0;q=56703;K=77}}else if((K|0)==76){g=Nl(g,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=tl(g,0,o)|0;G=(H|0)==0;w=g;h=G?o:H-g|0;s=0;u=56703;g=G?g+o|0:H}else if((K|0)==86){K=0;h=0;g=0;q=k[aa>>2]|0;while(1){m=k[q>>2]|0;if(!m)break;g=Sk(ea,m)|0;if((g|0)<0|g>>>0>(o-h|0)>>>0)break;h=g+h|0;if(o>>>0>h>>>0)q=q+4|0;else break}if((g|0)<0){f=-1;break a}Ol(a,32,J,h,H);if(!h){g=0;K=98}else{m=0;o=k[aa>>2]|0;while(1){g=k[o>>2]|0;if(!g){g=h;K=98;break g}g=Sk(ea,g)|0;m=g+m|0;if((m|0)>(h|0)){g=h;K=98;break g}if(!(k[a>>2]&32))fl(ea,g,a)|0;if(m>>>0>=h>>>0){g=h;K=98;break}else o=o+4|0}}}while(0);if((K|0)==98){K=0;Ol(a,32,J,g,H^8192);w=I;g=(J|0)>(g|0)?J:g;continue}if((K|0)==77){K=0;m=(o|0)>-1?h&-65537:h;h=aa;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((o|0)!=0|h){h=(h&1^1)+(U-g)|0;w=g;h=(o|0)>(h|0)?o:h;u=q;g=N}else{w=N;h=0;u=q;g=N}}q=g-w|0;h=(h|0)<(q|0)?q:h;o=s+h|0;g=(J|0)<(o|0)?o:J;Ol(a,32,g,o,m);if(!(k[a>>2]&32))fl(u,s,a)|0;Ol(a,48,g,o,m^65536);Ol(a,48,h,q,0);if(!(k[a>>2]&32))fl(w,q,a)|0;Ol(a,32,g,o,m^8192);w=I}h:do if((K|0)==245)if(!a)if(b){f=1;while(1){b=k[e+(f<<2)>>2]|0;if(!b)break;Ml(d+(f<<3)|0,b,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0;while(0);r=ga;return f|0}function Il(a,b,c){a=a|0;b=b|0;c=c|0;return $k(a,b,c)|0}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+112|0;g=h;e=g;f=e+112|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=g+4|0;k[e>>2]=a;f=g+8|0;k[f>>2]=-1;k[g+44>>2]=a;k[g+76>>2]=-1;qk(g,0);d=+ok(g,c,1);c=(k[e>>2]|0)-(k[f>>2]|0)+(k[g+108>>2]|0)|0;if(b)k[b>>2]=(c|0)!=0?a+c|0:a;r=h;return +d}function Kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=r;r=r+112|0;h=i;k[h>>2]=0;f=h+4|0;k[f>>2]=a;k[h+44>>2]=a;g=h+8|0;k[g>>2]=(a|0)<0?-1:a+2147483647|0;k[h+76>>2]=-1;qk(h,0);d=pk(h,c,1,d,e)|0;if(b)k[b>>2]=a+((k[f>>2]|0)+(k[h+108>>2]|0)-(k[g>>2]|0));r=i;return d|0}function Ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=k[d>>2]|0;a=(k[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;vw(e|0,b|0,a|0)|0;k[d>>2]=(k[d>>2]|0)+a;return c|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295)while(1){d=Fw(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=Ew(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=M}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0}function Ol(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;sw(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){fl(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;fl(g,e,a)|0}while(0);r=h;return}function Pl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;h=k[10218]|0;c=h>>>a;if(c&3){a=(c&1^1)+a|0;d=a<<1;c=40912+(d<<2)|0;d=40912+(d+2<<2)|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[10222]|0)>>>0)Pa();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Pa()}else k[10218]=h&~(1<>2]=M|3;M=e+(M|4)|0;k[M>>2]=k[M>>2]|1;M=f;return M|0}g=k[10220]|0;if(o>>>0>g>>>0){if(c){d=2<>>12&16;d=d>>>i;e=d>>>5&8;d=d>>>e;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;a=d>>>1&1;a=(e|i|f|c|a)+(d>>>a)|0;d=a<<1;c=40912+(d<<2)|0;d=40912+(d+2<<2)|0;f=k[d>>2]|0;i=f+8|0;e=k[i>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[10222]|0)>>>0)Pa();b=e+12|0;if((k[b>>2]|0)==(f|0)){k[b>>2]=c;k[d>>2]=e;j=k[10220]|0;break}else Pa()}else{k[10218]=h&~(1<>2]=o|3;h=f+o|0;k[f+(o|4)>>2]=g|1;k[f+M>>2]=g;if(j){e=k[10223]|0;c=j>>>3;b=c<<1;d=40912+(b<<2)|0;a=k[10218]|0;c=1<>2]|0;if(b>>>0<(k[10222]|0)>>>0)Pa();else{l=a;m=b}}else{k[10218]=a|c;l=40912+(b+2<<2)|0;m=d}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=d}k[10220]=g;k[10223]=h;M=i;return M|0}a=k[10219]|0;if(a){c=(a&0-a)+-1|0;L=c>>>12&16;c=c>>>L;K=c>>>5&8;c=c>>>K;M=c>>>2&4;c=c>>>M;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=k[41176+((K|L|M|a|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;a=d;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b){i=c;break}}a=(k[b+4>>2]&-8)-o|0;M=a>>>0>>0;c=M?a:c;a=b;d=M?b:d}f=k[10222]|0;if(d>>>0>>0)Pa();h=d+o|0;if(d>>>0>=h>>>0)Pa();g=k[d+24>>2]|0;c=k[d+12>>2]|0;do if((c|0)==(d|0)){a=d+20|0;b=k[a>>2]|0;if(!b){a=d+16|0;b=k[a>>2]|0;if(!b){n=0;break}}while(1){c=b+20|0;e=k[c>>2]|0;if(e){b=e;a=c;continue}c=b+16|0;e=k[c>>2]|0;if(!e)break;else{b=e;a=c}}if(a>>>0>>0)Pa();else{k[a>>2]=0;n=b;break}}else{e=k[d+8>>2]|0;if(e>>>0>>0)Pa();b=e+12|0;if((k[b>>2]|0)!=(d|0))Pa();a=c+8|0;if((k[a>>2]|0)==(d|0)){k[b>>2]=c;k[a>>2]=e;n=c;break}else Pa()}while(0);do if(g){b=k[d+28>>2]|0;a=41176+(b<<2)|0;if((d|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[10219]=k[10219]&~(1<>>0<(k[10222]|0)>>>0)Pa();b=g+16|0;if((k[b>>2]|0)==(d|0))k[b>>2]=n;else k[g+20>>2]=n;if(!n)break}a=k[10222]|0;if(n>>>0>>0)Pa();k[n+24>>2]=g;b=k[d+16>>2]|0;do if(b)if(b>>>0>>0)Pa();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);b=k[d+20>>2]|0;if(b)if(b>>>0<(k[10222]|0)>>>0)Pa();else{k[n+20>>2]=b;k[b+24>>2]=n;break}}while(0);if(i>>>0<16){M=i+o|0;k[d+4>>2]=M|3;M=d+(M+4)|0;k[M>>2]=k[M>>2]|1}else{k[d+4>>2]=o|3;k[d+(o|4)>>2]=i|1;k[d+(i+o)>>2]=i;b=k[10220]|0;if(b){f=k[10223]|0;c=b>>>3;b=c<<1;e=40912+(b<<2)|0;a=k[10218]|0;c=1<>2]|0;if(a>>>0<(k[10222]|0)>>>0)Pa();else{p=b;q=a}}else{k[10218]=a|c;p=40912+(b+2<<2)|0;q=e}k[p>>2]=f;k[q+12>>2]=f;k[f+8>>2]=q;k[f+12>>2]=e}k[10220]=i;k[10223]=h}M=d+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=k[10219]|0;if(l){c=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(p|q|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;a=k[41176+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=86}else{g=c;e=0;h=m<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){f=k[i+4>>2]&-8;c=f-m|0;if(c>>>0>>0)if((f|0)==(m|0)){f=i;a=i;v=90;break a}else a=i;else c=g;v=k[i+20>>2]|0;i=k[i+16+(h>>>31<<2)>>2]|0;e=(v|0)==0|(v|0)==(i|0)?e:v;if(!i){v=86;break}else{g=c;h=h<<1}}}while(0);if((v|0)==86){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;e=a>>>1&1;e=k[41176+((l|n|p|q|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){h=c;i=a}else{f=e;v=90}}if((v|0)==90)while(1){v=0;q=(k[f+4>>2]&-8)-m|0;e=q>>>0>>0;c=e?q:c;a=e?f:a;e=k[f+16>>2]|0;if(e){f=e;v=90;continue}f=k[f+20>>2]|0;if(!f){h=c;i=a;break}else v=90}if((i|0)!=0?h>>>0<((k[10220]|0)-m|0)>>>0:0){e=k[10222]|0;if(i>>>0>>0)Pa();g=i+m|0;if(i>>>0>=g>>>0)Pa();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){o=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Pa();else{k[a>>2]=0;o=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Pa();b=d+12|0;if((k[b>>2]|0)!=(i|0))Pa();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;o=c;break}else Pa()}while(0);do if(f){b=k[i+28>>2]|0;a=41176+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=o;if(!o){k[10219]=k[10219]&~(1<>>0<(k[10222]|0)>>>0)Pa();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=o;else k[f+20>>2]=o;if(!o)break}a=k[10222]|0;if(o>>>0>>0)Pa();k[o+24>>2]=f;b=k[i+16>>2]|0;do if(b)if(b>>>0>>0)Pa();else{k[o+16>>2]=b;k[b+24>>2]=o;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[10222]|0)>>>0)Pa();else{k[o+20>>2]=b;k[b+24>>2]=o;break}}while(0);b:do if(h>>>0>=16){k[i+4>>2]=m|3;k[i+(m|4)>>2]=h|1;k[i+(h+m)>>2]=h;b=h>>>3;if(h>>>0<256){a=b<<1;d=40912+(a<<2)|0;c=k[10218]|0;b=1<>2]|0;if(a>>>0<(k[10222]|0)>>>0)Pa();else{s=b;t=a}}else{k[10218]=c|b;s=40912+(a+2<<2)|0;t=d}k[s>>2]=g;k[t+12>>2]=g;k[i+(m+8)>>2]=t;k[i+(m+12)>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=41176+(d<<2)|0;k[i+(m+28)>>2]=d;k[i+(m+20)>>2]=0;k[i+(m+16)>>2]=0;a=k[10219]|0;c=1<>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break}b=k[b>>2]|0;c:do if((k[b+4>>2]&-8|0)!=(h|0)){d=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(h|0)){y=c;break c}else{d=d<<1;b=c}}if(a>>>0<(k[10222]|0)>>>0)Pa();else{k[a>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break b}}else y=b;while(0);b=y+8|0;a=k[b>>2]|0;M=k[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[i+(m+8)>>2]=a;k[i+(m+12)>>2]=y;k[i+(m+24)>>2]=0;break}else Pa()}else{M=h+m|0;k[i+4>>2]=M|3;M=i+(M+4)|0;k[M>>2]=k[M>>2]|1}while(0);M=i+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);c=k[10220]|0;if(c>>>0>=q>>>0){b=c-q|0;a=k[10223]|0;if(b>>>0>15){k[10223]=a+q;k[10220]=b;k[a+(q+4)>>2]=b|1;k[a+c>>2]=b;k[a+4>>2]=q|3}else{k[10220]=0;k[10223]=0;k[a+4>>2]=c|3;M=a+(c+4)|0;k[M>>2]=k[M>>2]|1}M=a+8|0;return M|0}a=k[10221]|0;if(a>>>0>q>>>0){L=a-q|0;k[10221]=L;M=k[10224]|0;k[10224]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(k[10336]|0)){a=hb(30)|0;if(!(a+-1&a)){k[10338]=a;k[10337]=a;k[10339]=-1;k[10340]=-1;k[10341]=0;k[10329]=0;y=(zb(0)|0)&-16^1431655768;k[10336]=y;break}else Pa()}while(0);i=q+48|0;h=k[10338]|0;j=q+47|0;g=h+j|0;h=0-h|0;l=g&h;if(l>>>0<=q>>>0){M=0;return M|0}a=k[10328]|0;if((a|0)!=0?(t=k[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(k[10329]&4)){a=k[10224]|0;e:do if(a){e=41320;while(1){c=k[e>>2]|0;if(c>>>0<=a>>>0?(r=e+4|0,(c+(k[r>>2]|0)|0)>>>0>a>>>0):0){f=e;a=r;break}e=k[e+8>>2]|0;if(!e){v=174;break e}}c=g-(k[10221]|0)&h;if(c>>>0<2147483647){e=bb(c|0)|0;y=(e|0)==((k[f>>2]|0)+(k[a>>2]|0)|0);a=y?c:0;if(y){if((e|0)!=(-1|0)){w=e;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){f=bb(0)|0;if((f|0)!=(-1|0)){a=f;c=k[10337]|0;e=c+-1|0;if(!(e&a))c=l;else c=l-a+(e+a&0-c)|0;a=k[10326]|0;e=a+c|0;if(c>>>0>q>>>0&c>>>0<2147483647){y=k[10328]|0;if((y|0)!=0?e>>>0<=a>>>0|e>>>0>y>>>0:0){a=0;break}e=bb(c|0)|0;y=(e|0)==(f|0);a=y?c:0;if(y){w=f;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){f=0-c|0;do if(i>>>0>c>>>0&(c>>>0<2147483647&(e|0)!=(-1|0))?(u=k[10338]|0,u=j-c+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(f|0)|0;break f}else{c=u+c|0;break}while(0);if((e|0)!=(-1|0)){w=e;p=c;v=194;break d}}while(0);k[10329]=k[10329]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(k[10326]|0)+p|0;k[10326]=a;if(a>>>0>(k[10327]|0)>>>0)k[10327]=a;g=k[10224]|0;g:do if(g){f=41320;do{a=k[f>>2]|0;c=f+4|0;e=k[c>>2]|0;if((w|0)==(a+e|0)){B=a;C=c;D=e;E=f;v=204;break}f=k[f+8>>2]|0}while((f|0)!=0);if(((v|0)==204?(k[E+12>>2]&8|0)==0:0)?g>>>0>>0&g>>>0>=B>>>0:0){k[C>>2]=D+p;M=(k[10221]|0)+p|0;L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;k[10224]=g+L;k[10221]=K;k[g+(L+4)>>2]=K|1;k[g+(M+4)>>2]=40;k[10225]=k[10340];break}a=k[10222]|0;if(w>>>0>>0){k[10222]=w;a=w}c=w+p|0;f=41320;while(1){if((k[f>>2]|0)==(c|0)){e=f;c=f;v=212;break}f=k[f+8>>2]|0;if(!f){c=41320;break}}if((v|0)==212)if(!(k[c+12>>2]&8)){k[e>>2]=w;n=c+4|0;k[n>>2]=(k[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;j=w+(p+8)|0;j=(j&7|0)==0?0:0-j&7;b=w+(j+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;k[w+(n+4)>>2]=q|3;h:do if((b|0)!=(g|0)){if((b|0)==(k[10223]|0)){M=(k[10220]|0)+l|0;k[10220]=M;k[10223]=o;k[w+(m+4)>>2]=M|1;k[w+(M+m)>>2]=M;break}h=p+4|0;c=k[w+(h+j)>>2]|0;if((c&3|0)==1){i=c&-8;f=c>>>3;i:do if(c>>>0>=256){g=k[w+((j|24)+p)>>2]|0;d=k[w+(p+12+j)>>2]|0;do if((d|0)==(b|0)){e=j|16;d=w+(h+e)|0;c=k[d>>2]|0;if(!c){d=w+(e+p)|0;c=k[d>>2]|0;if(!c){J=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Pa();else{k[d>>2]=0;J=c;break}}else{e=k[w+((j|8)+p)>>2]|0;if(e>>>0>>0)Pa();a=e+12|0;if((k[a>>2]|0)!=(b|0))Pa();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;J=d;break}else Pa()}while(0);if(!g)break;a=k[w+(p+28+j)>>2]|0;c=41176+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(g>>>0<(k[10222]|0)>>>0)Pa();a=g+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=J;else k[g+20>>2]=J;if(!J)break i}else{k[c>>2]=J;if(J)break;k[10219]=k[10219]&~(1<>>0>>0)Pa();k[J+24>>2]=g;b=j|16;a=k[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Pa();else{k[J+16>>2]=a;k[a+24>>2]=J;break}while(0);b=k[w+(h+b)>>2]|0;if(!b)break;if(b>>>0<(k[10222]|0)>>>0)Pa();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{d=k[w+((j|8)+p)>>2]|0;e=k[w+(p+12+j)>>2]|0;c=40912+(f<<1<<2)|0;do if((d|0)!=(c|0)){if(d>>>0>>0)Pa();if((k[d+12>>2]|0)==(b|0))break;Pa()}while(0);if((e|0)==(d|0)){k[10218]=k[10218]&~(1<>>0>>0)Pa();a=e+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Pa()}while(0);k[d+12>>2]=e;k[F>>2]=d}while(0);b=w+((i|j)+p)|0;e=i+l|0}else e=l;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[w+(m+4)>>2]=e|1;k[w+(e+m)>>2]=e;b=e>>>3;if(e>>>0<256){a=b<<1;d=40912+(a<<2)|0;c=k[10218]|0;b=1<>2]|0;if(a>>>0>=(k[10222]|0)>>>0){K=b;L=a;break}Pa()}while(0);k[K>>2]=o;k[L+12>>2]=o;k[w+(m+8)>>2]=L;k[w+(m+12)>>2]=d;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=41176+(d<<2)|0;k[w+(m+28)>>2]=d;k[w+(m+20)>>2]=0;k[w+(m+16)>>2]=0;a=k[10219]|0;c=1<>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break}b=k[b>>2]|0;j:do if((k[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(e|0)){M=c;break j}else{d=d<<1;b=c}}if(a>>>0<(k[10222]|0)>>>0)Pa();else{k[a>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=k[b>>2]|0;L=k[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){k[a+12>>2]=o;k[b>>2]=o;k[w+(m+8)>>2]=a;k[w+(m+12)>>2]=M;k[w+(m+24)>>2]=0;break}else Pa()}else{M=(k[10221]|0)+l|0;k[10221]=M;k[10224]=o;k[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else c=41320;while(1){a=k[c>>2]|0;if(a>>>0<=g>>>0?(b=k[c+4>>2]|0,d=a+b|0,d>>>0>g>>>0):0)break;c=k[c+8>>2]|0}e=a+(b+-39)|0;a=a+(b+-47+((e&7|0)==0?0:0-e&7))|0;e=g+16|0;a=a>>>0>>0?g:a;b=a+8|0;c=w+8|0;c=(c&7|0)==0?0:0-c&7;M=p+-40-c|0;k[10224]=w+c;k[10221]=M;k[w+(c+4)>>2]=M|1;k[w+(p+-36)>>2]=40;k[10225]=k[10340];c=a+4|0;k[c>>2]=27;k[b>>2]=k[10330];k[b+4>>2]=k[10331];k[b+8>>2]=k[10332];k[b+12>>2]=k[10333];k[10330]=w;k[10331]=p;k[10333]=0;k[10332]=b;b=a+28|0;k[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;k[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(g|0)){f=a-g|0;k[c>>2]=k[c>>2]&-2;k[g+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;d=40912+(a<<2)|0;c=k[10218]|0;b=1<>2]|0;if(a>>>0<(k[10222]|0)>>>0)Pa();else{G=b;H=a}}else{k[10218]=c|b;G=40912+(a+2<<2)|0;H=d}k[G>>2]=g;k[H+12>>2]=g;k[g+8>>2]=H;k[g+12>>2]=d;break}b=f>>>8;if(b)if(f>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;c=41176+(d<<2)|0;k[g+28>>2]=d;k[g+20>>2]=0;k[e>>2]=0;b=k[10219]|0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}b=k[c>>2]|0;k:do if((k[b+4>>2]&-8|0)!=(f|0)){d=f<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(f|0)){I=c;break k}else{d=d<<1;b=c}}if(a>>>0<(k[10222]|0)>>>0)Pa();else{k[a>>2]=g;k[g+24>>2]=b;k[g+12>>2]=g;k[g+8>>2]=g;break g}}else I=b;while(0);b=I+8|0;a=k[b>>2]|0;M=k[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=I;k[g+24>>2]=0;break}else Pa()}}else{M=k[10222]|0;if((M|0)==0|w>>>0>>0)k[10222]=w;k[10330]=w;k[10331]=p;k[10333]=0;k[10227]=k[10336];k[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;k[40912+(M+3<<2)>>2]=L;k[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;k[10224]=w+M;k[10221]=L;k[w+(M+4)>>2]=L|1;k[w+(p+-36)>>2]=40;k[10225]=k[10340]}while(0);b=k[10221]|0;if(b>>>0>q>>>0){L=b-q|0;k[10221]=L;M=k[10224]|0;k[10224]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}}M=mk()|0;k[M>>2]=12;M=0;return M|0}function Ql(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;h=k[10222]|0;if(b>>>0>>0)Pa();c=k[a+-4>>2]|0;d=c&3;if((d|0)==1)Pa();o=c&-8;q=a+(o+-8)|0;do if(!(c&1)){b=k[b>>2]|0;if(!d)return;i=-8-b|0;l=a+i|0;m=b+o|0;if(l>>>0>>0)Pa();if((l|0)==(k[10223]|0)){b=a+(o+-4)|0;c=k[b>>2]|0;if((c&3|0)!=3){u=l;f=m;break}k[10220]=m;k[b>>2]=c&-2;k[a+(i+4)>>2]=m|1;k[q>>2]=m;return}e=b>>>3;if(b>>>0<256){d=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;b=40912+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0>>0)Pa();if((k[d+12>>2]|0)!=(l|0))Pa()}if((c|0)==(d|0)){k[10218]=k[10218]&~(1<>>0>>0)Pa();b=c+8|0;if((k[b>>2]|0)==(l|0))g=b;else Pa()}else g=c+8|0;k[d+12>>2]=c;k[g>>2]=d;u=l;f=m;break}g=k[a+(i+24)>>2]|0;d=k[a+(i+12)>>2]|0;do if((d|0)==(l|0)){c=a+(i+20)|0;b=k[c>>2]|0;if(!b){c=a+(i+16)|0;b=k[c>>2]|0;if(!b){j=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)Pa();else{k[c>>2]=0;j=b;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Pa();b=e+12|0;if((k[b>>2]|0)!=(l|0))Pa();c=d+8|0;if((k[c>>2]|0)==(l|0)){k[b>>2]=d;k[c>>2]=e;j=d;break}else Pa()}while(0);if(g){b=k[a+(i+28)>>2]|0;c=41176+(b<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[10219]=k[10219]&~(1<>>0<(k[10222]|0)>>>0)Pa();b=g+16|0;if((k[b>>2]|0)==(l|0))k[b>>2]=j;else k[g+20>>2]=j;if(!j){u=l;f=m;break}}c=k[10222]|0;if(j>>>0>>0)Pa();k[j+24>>2]=g;b=k[a+(i+16)>>2]|0;do if(b)if(b>>>0>>0)Pa();else{k[j+16>>2]=b;k[b+24>>2]=j;break}while(0);b=k[a+(i+20)>>2]|0;if(b)if(b>>>0<(k[10222]|0)>>>0)Pa();else{k[j+20>>2]=b;k[b+24>>2]=j;u=l;f=m;break}else{u=l;f=m}}else{u=l;f=m}}else{u=b;f=o}while(0);if(u>>>0>=q>>>0)Pa();b=a+(o+-4)|0;c=k[b>>2]|0;if(!(c&1))Pa();if(!(c&2)){if((q|0)==(k[10224]|0)){t=(k[10221]|0)+f|0;k[10221]=t;k[10224]=u;k[u+4>>2]=t|1;if((u|0)!=(k[10223]|0))return;k[10223]=0;k[10220]=0;return}if((q|0)==(k[10223]|0)){t=(k[10220]|0)+f|0;k[10220]=t;k[10223]=u;k[u+4>>2]=t|1;k[u+t>>2]=t;return}f=(c&-8)+f|0;e=c>>>3;do if(c>>>0>=256){g=k[a+(o+16)>>2]|0;b=k[a+(o|4)>>2]|0;do if((b|0)==(q|0)){c=a+(o+12)|0;b=k[c>>2]|0;if(!b){c=a+(o+8)|0;b=k[c>>2]|0;if(!b){p=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<(k[10222]|0)>>>0)Pa();else{k[c>>2]=0;p=b;break}}else{c=k[a+o>>2]|0;if(c>>>0<(k[10222]|0)>>>0)Pa();d=c+12|0;if((k[d>>2]|0)!=(q|0))Pa();e=b+8|0;if((k[e>>2]|0)==(q|0)){k[d>>2]=b;k[e>>2]=c;p=b;break}else Pa()}while(0);if(g){b=k[a+(o+20)>>2]|0;c=41176+(b<<2)|0;if((q|0)==(k[c>>2]|0)){k[c>>2]=p;if(!p){k[10219]=k[10219]&~(1<>>0<(k[10222]|0)>>>0)Pa();b=g+16|0;if((k[b>>2]|0)==(q|0))k[b>>2]=p;else k[g+20>>2]=p;if(!p)break}c=k[10222]|0;if(p>>>0>>0)Pa();k[p+24>>2]=g;b=k[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Pa();else{k[p+16>>2]=b;k[b+24>>2]=p;break}while(0);b=k[a+(o+12)>>2]|0;if(b)if(b>>>0<(k[10222]|0)>>>0)Pa();else{k[p+20>>2]=b;k[b+24>>2]=p;break}}}else{d=k[a+o>>2]|0;c=k[a+(o|4)>>2]|0;b=40912+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<(k[10222]|0)>>>0)Pa();if((k[d+12>>2]|0)!=(q|0))Pa()}if((c|0)==(d|0)){k[10218]=k[10218]&~(1<>>0<(k[10222]|0)>>>0)Pa();b=c+8|0;if((k[b>>2]|0)==(q|0))n=b;else Pa()}else n=c+8|0;k[d+12>>2]=c;k[n>>2]=d}while(0);k[u+4>>2]=f|1;k[u+f>>2]=f;if((u|0)==(k[10223]|0)){k[10220]=f;return}}else{k[b>>2]=c&-2;k[u+4>>2]=f|1;k[u+f>>2]=f}b=f>>>3;if(f>>>0<256){c=b<<1;e=40912+(c<<2)|0;d=k[10218]|0;b=1<>2]|0;if(c>>>0<(k[10222]|0)>>>0)Pa();else{r=b;s=c}}else{k[10218]=d|b;r=40912+(c+2<<2)|0;s=e}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=e;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;c=k[10219]|0;d=1<>2]|0;b:do if((k[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){c=b+16+(e>>>31<<2)|0;d=k[c>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;b=d}}if(c>>>0<(k[10222]|0)>>>0)Pa();else{k[c>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;c=k[b>>2]|0;s=k[10222]|0;if(c>>>0>=s>>>0&t>>>0>=s>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Pa()}else{k[10219]=c|d;k[b>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u}while(0);u=(k[10226]|0)+-1|0;k[10226]=u;if(!u)b=41328;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[10226]=-1;return}function Rl(a,b){a=a|0;b=b|0;var c=0;if(a){c=ia(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;b=Pl(c)|0;if(!b)return b|0;if(!(k[b+-4>>2]&3))return b|0;sw(b|0,0,c|0)|0;return b|0}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=Pl(b)|0;return a|0}if(b>>>0>4294967231){a=mk()|0;k[a>>2]=12;a=0;return a|0}c=Tl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c){a=c+8|0;return a|0}c=Pl(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;vw(c|0,a|0,(d>>>0>>0?d:b)|0)|0;Ql(a);a=c;return a|0}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[10222]|0;c=p&3;if(!((c|0)!=1&a>>>0>=h>>>0&a>>>0>>0))Pa();d=a+(i|4)|0;e=k[d>>2]|0;if(!(e&1))Pa();if(!c){if(b>>>0<256){a=0;return a|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(i>>>0>=b>>>0){c=i-b|0;if(c>>>0<=15)return a|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|3;k[d>>2]=k[d>>2]|1;Ul(a+b|0,c);return a|0}if((l|0)==(k[10224]|0)){c=(k[10221]|0)+i|0;if(c>>>0<=b>>>0){a=0;return a|0}n=c-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|1;k[10224]=a+b;k[10221]=n;return a|0}if((l|0)==(k[10223]|0)){d=(k[10220]|0)+i|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[10220]=c;k[10223]=d;return a|0}if(e&2){a=0;return a|0}m=(e&-8)+i|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;f=e>>>3;do if(e>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){d=a+(i+20)|0;c=k[d>>2]|0;if(!c){d=a+(i+16)|0;c=k[d>>2]|0;if(!c){j=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Pa();else{k[d>>2]=0;j=c;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Pa();c=e+12|0;if((k[c>>2]|0)!=(l|0))Pa();d=f+8|0;if((k[d>>2]|0)==(l|0)){k[c>>2]=f;k[d>>2]=e;j=f;break}else Pa()}while(0);if(g){c=k[a+(i+28)>>2]|0;d=41176+(c<<2)|0;if((l|0)==(k[d>>2]|0)){k[d>>2]=j;if(!j){k[10219]=k[10219]&~(1<>>0<(k[10222]|0)>>>0)Pa();c=g+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=j;else k[g+20>>2]=j;if(!j)break}d=k[10222]|0;if(j>>>0>>0)Pa();k[j+24>>2]=g;c=k[a+(i+16)>>2]|0;do if(c)if(c>>>0>>0)Pa();else{k[j+16>>2]=c;k[c+24>>2]=j;break}while(0);c=k[a+(i+20)>>2]|0;if(c)if(c>>>0<(k[10222]|0)>>>0)Pa();else{k[j+20>>2]=c;k[c+24>>2]=j;break}}}else{e=k[a+(i+8)>>2]|0;d=k[a+(i+12)>>2]|0;c=40912+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Pa();if((k[e+12>>2]|0)!=(l|0))Pa()}if((d|0)==(e|0)){k[10218]=k[10218]&~(1<>>0>>0)Pa();c=d+8|0;if((k[c>>2]|0)==(l|0))g=c;else Pa()}else g=d+8|0;k[e+12>>2]=d;k[g>>2]=e}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;b=a+(m|4)|0;k[b>>2]=k[b>>2]|1;return a|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;p=a+(m|4)|0;k[p>>2]=k[p>>2]|1;Ul(a+b|0,n);return a|0}return 0}function Ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){j=k[a>>2]|0;if(!(c&3))return;n=a+(0-j)|0;m=j+b|0;i=k[10222]|0;if(n>>>0>>0)Pa();if((n|0)==(k[10223]|0)){d=a+(b+4)|0;c=k[d>>2]|0;if((c&3|0)!=3){t=n;g=m;break}k[10220]=m;k[d>>2]=c&-2;k[a+(4-j)>>2]=m|1;k[q>>2]=m;return}f=j>>>3;if(j>>>0<256){e=k[a+(8-j)>>2]|0;d=k[a+(12-j)>>2]|0;c=40912+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Pa();if((k[e+12>>2]|0)!=(n|0))Pa()}if((d|0)==(e|0)){k[10218]=k[10218]&~(1<>>0>>0)Pa();c=d+8|0;if((k[c>>2]|0)==(n|0))h=c;else Pa()}else h=d+8|0;k[e+12>>2]=d;k[h>>2]=e;t=n;g=m;break}h=k[a+(24-j)>>2]|0;e=k[a+(12-j)>>2]|0;do if((e|0)==(n|0)){e=16-j|0;d=a+(e+4)|0;c=k[d>>2]|0;if(!c){d=a+e|0;c=k[d>>2]|0;if(!c){l=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Pa();else{k[d>>2]=0;l=c;break}}else{f=k[a+(8-j)>>2]|0;if(f>>>0>>0)Pa();c=f+12|0;if((k[c>>2]|0)!=(n|0))Pa();d=e+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=e;k[d>>2]=f;l=e;break}else Pa()}while(0);if(h){c=k[a+(28-j)>>2]|0;d=41176+(c<<2)|0;if((n|0)==(k[d>>2]|0)){k[d>>2]=l;if(!l){k[10219]=k[10219]&~(1<>>0<(k[10222]|0)>>>0)Pa();c=h+16|0;if((k[c>>2]|0)==(n|0))k[c>>2]=l;else k[h+20>>2]=l;if(!l){t=n;g=m;break}}e=k[10222]|0;if(l>>>0>>0)Pa();k[l+24>>2]=h;c=16-j|0;d=k[a+c>>2]|0;do if(d)if(d>>>0>>0)Pa();else{k[l+16>>2]=d;k[d+24>>2]=l;break}while(0);c=k[a+(c+4)>>2]|0;if(c)if(c>>>0<(k[10222]|0)>>>0)Pa();else{k[l+20>>2]=c;k[c+24>>2]=l;t=n;g=m;break}else{t=n;g=m}}else{t=n;g=m}}else{t=a;g=b}while(0);i=k[10222]|0;if(q>>>0>>0)Pa();c=a+(b+4)|0;d=k[c>>2]|0;if(!(d&2)){if((q|0)==(k[10224]|0)){s=(k[10221]|0)+g|0;k[10221]=s;k[10224]=t;k[t+4>>2]=s|1;if((t|0)!=(k[10223]|0))return;k[10223]=0;k[10220]=0;return}if((q|0)==(k[10223]|0)){s=(k[10220]|0)+g|0;k[10220]=s;k[10223]=t;k[t+4>>2]=s|1;k[t+s>>2]=s;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){d=a+(b+20)|0;c=k[d>>2]|0;if(!c){d=a+(b+16)|0;c=k[d>>2]|0;if(!c){p=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Pa();else{k[d>>2]=0;p=c;break}}else{f=k[a+(b+8)>>2]|0;if(f>>>0>>0)Pa();c=f+12|0;if((k[c>>2]|0)!=(q|0))Pa();d=e+8|0;if((k[d>>2]|0)==(q|0)){k[c>>2]=e;k[d>>2]=f;p=e;break}else Pa()}while(0);if(h){c=k[a+(b+28)>>2]|0;d=41176+(c<<2)|0;if((q|0)==(k[d>>2]|0)){k[d>>2]=p;if(!p){k[10219]=k[10219]&~(1<>>0<(k[10222]|0)>>>0)Pa();c=h+16|0;if((k[c>>2]|0)==(q|0))k[c>>2]=p;else k[h+20>>2]=p;if(!p)break}d=k[10222]|0;if(p>>>0>>0)Pa();k[p+24>>2]=h;c=k[a+(b+16)>>2]|0;do if(c)if(c>>>0>>0)Pa();else{k[p+16>>2]=c;k[c+24>>2]=p;break}while(0);c=k[a+(b+20)>>2]|0;if(c)if(c>>>0<(k[10222]|0)>>>0)Pa();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{e=k[a+(b+8)>>2]|0;d=k[a+(b+12)>>2]|0;c=40912+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Pa();if((k[e+12>>2]|0)!=(q|0))Pa()}if((d|0)==(e|0)){k[10218]=k[10218]&~(1<>>0>>0)Pa();c=d+8|0;if((k[c>>2]|0)==(q|0))o=c;else Pa()}else o=d+8|0;k[e+12>>2]=d;k[o>>2]=e}while(0);k[t+4>>2]=g|1;k[t+g>>2]=g;if((t|0)==(k[10223]|0)){k[10220]=g;return}}else{k[c>>2]=d&-2;k[t+4>>2]=g|1;k[t+g>>2]=g}c=g>>>3;if(g>>>0<256){d=c<<1;f=40912+(d<<2)|0;e=k[10218]|0;c=1<>2]|0;if(d>>>0<(k[10222]|0)>>>0)Pa();else{r=c;s=d}}else{k[10218]=e|c;r=40912+(d+2<<2)|0;s=f}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=f;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{r=(c+1048320|0)>>>16&8;s=c<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;c=41176+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[10219]|0;e=1<>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[c>>2]|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=c+16+(f>>>31<<2)|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[10222]|0)>>>0)Pa();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;s=k[10222]|0;if(!(e>>>0>=s>>>0&c>>>0>=s>>>0))Pa();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function Vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;d=k[9321]|0;Zl(42048,d,42104);k[10342]=42892;k[10344]=42912;k[10343]=0;a=k[10720]|0;x=0;ra(62,41368+a|0,42048);f=x;x=0;if(f&1){f=Wa()|0;qn(41376);fb(f|0)}k[41368+(a+72)>>2]=0;k[41368+(a+76)>>2]=-1;e=k[9322]|0;_l(42152,e,42112);k[10364]=42972;k[10365]=42992;c=k[10740]|0;x=0;ra(62,41456+c|0,42152);f=x;x=0;if(f&1){f=Wa()|0;qn(41460);fb(f|0)}a=c+72|0;k[41456+a>>2]=0;b=c+76|0;k[41456+b>>2]=-1;f=k[9320]|0;_l(42200,f,42120);k[10385]=42972;k[10386]=42992;x=0;ra(62,41540+c|0,42200);g=x;x=0;if(g&1){g=Wa()|0;qn(41544);fb(g|0)}k[41540+a>>2]=0;k[41540+b>>2]=-1;g=k[41540+((k[(k[10385]|0)+-12>>2]|0)+24)>>2]|0;k[10406]=42972;k[10407]=42992;x=0;ra(62,41624+c|0,g|0);g=x;x=0;if(g&1){g=Wa()|0;qn(41628);fb(g|0)}k[41624+a>>2]=0;k[41624+b>>2]=-1;k[41368+((k[(k[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((k[(k[10385]|0)+-12>>2]|0)+4)|0;k[a>>2]=k[a>>2]|8192;k[41540+((k[(k[10385]|0)+-12>>2]|0)+72)>>2]=41456;$l(42248,d,42128);k[10427]=42932;k[10429]=42952;k[10428]=0;a=k[10730]|0;x=0;ra(62,41708+a|0,42248);g=x;x=0;if(g&1){g=Wa()|0;vn(41716);fb(g|0)}k[41708+(a+72)>>2]=0;k[41708+(a+76)>>2]=-1;am(42304,e,42136);k[10449]=43012;k[10450]=43032;c=k[10750]|0;x=0;ra(62,41796+c|0,42304);g=x;x=0;if(g&1){g=Wa()|0;vn(41800);fb(g|0)}a=c+72|0;k[41796+a>>2]=0;b=c+76|0;k[41796+b>>2]=-1;am(42352,f,42144);k[10470]=43012;k[10471]=43032;x=0;ra(62,41880+c|0,42352);g=x;x=0;if(g&1){g=Wa()|0;vn(41884);fb(g|0)}k[41880+a>>2]=0;k[41880+b>>2]=-1;g=k[41880+((k[(k[10470]|0)+-12>>2]|0)+24)>>2]|0;k[10491]=43012;k[10492]=43032;x=0;ra(62,41964+c|0,g|0);g=x;x=0;if(g&1){g=Wa()|0;vn(41968);fb(g|0)}else{k[41964+a>>2]=0;k[41964+b>>2]=-1;k[41708+((k[(k[10427]|0)+-12>>2]|0)+72)>>2]=41796;g=41880+((k[(k[10470]|0)+-12>>2]|0)+4)|0;k[g>>2]=k[g>>2]|8192;k[41880+((k[(k[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Wl(a){a=a|0;x=0;ta(70,41456)|0;a=x;x=0;if(((!(a&1)?(x=0,ta(70,41624)|0,a=x,x=0,!(a&1)):0)?(x=0,ta(71,41796)|0,a=x,x=0,!(a&1)):0)?(x=0,ta(71,41964)|0,a=x,x=0,!(a&1)):0)return;a=Wa(0)|0;oc(a)}function Xl(){Vl(0);tb(187,56757,w|0)|0;return}function Yl(){return}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;zn(a);k[a>>2]=42600;k[a+32>>2]=b;k[a+40>>2]=c;k[a+48>>2]=-1;i[a+52>>0]=0;Ps(f,a+4|0);k[d>>2]=k[f>>2];x=0;ra(23,a|0,d|0);c=x;x=0;if(c&1){f=Wa()|0;Qs(d);xn(a);fb(f|0)}else{Qs(d);r=e;return}}function _l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;zn(a);k[a>>2]=42536;k[a+32>>2]=b;Ps(f,a+4|0);k[d>>2]=k[f>>2];x=0;b=Aa(37,d|0,44280)|0;f=x;x=0;if(f&1){f=Wa()|0;Qs(d);xn(a);fb(f|0)}else{Qs(d);k[a+36>>2]=b;k[a+40>>2]=c;f=(Ob[k[(k[b>>2]|0)+28>>2]&127](b)|0)&1;i[a+44>>0]=f;r=e;return}}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;On(a);k[a>>2]=42472;k[a+32>>2]=b;k[a+40>>2]=c;k[a+48>>2]=-1;i[a+52>>0]=0;Ps(f,a+4|0);k[d>>2]=k[f>>2];x=0;ra(21,a|0,d|0);c=x;x=0;if(c&1){f=Wa()|0;Qs(d);Mn(a);fb(f|0)}else{Qs(d);r=e;return}}function am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+4|0;d=e;On(a);k[a>>2]=42408;k[a+32>>2]=b;Ps(f,a+4|0);k[d>>2]=k[f>>2];x=0;b=Aa(37,d|0,44288)|0;f=x;x=0;if(f&1){f=Wa()|0;Qs(d);Mn(a);fb(f|0)}else{Qs(d);k[a+36>>2]=b;k[a+40>>2]=c;f=(Ob[k[(k[b>>2]|0)+28>>2]&127](b)|0)&1;i[a+44>>0]=f;r=e;return}}function bm(a){a=a|0;Mn(a);mj(a);return}function cm(a,b){a=a|0;b=b|0;Ob[k[(k[a>>2]|0)+24>>2]&127](a)|0;b=Ss(b,44288)|0;k[a+36>>2]=b;b=(Ob[k[(k[b>>2]|0)+28>>2]&127](b)|0)&1;i[a+44>>0]=b;return}function dm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j;c=a+36|0;d=a+40|0;e=h+8|0;f=h;b=a+32|0;a:while(1){a=k[c>>2]|0;a=Wb[k[(k[a>>2]|0)+20>>2]&31](a,k[d>>2]|0,h,e,g)|0;l=(k[g>>2]|0)-f|0;if((gl(h,1,l,k[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{i=4;break a}}}if((i|0)==4)a=((dl(k[b>>2]|0)|0)!=0)<<31>>31;r=j;return a|0}function em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if(!(i[a+44>>0]|0))if((c|0)>0){d=b;b=0;while(1){if((Vb[k[(k[a>>2]|0)+52>>2]&63](a,k[d>>2]|0)|0)==-1)break a;b=b+1|0;if((b|0)<(c|0))d=d+4|0;else break}}else b=0;else b=gl(b,4,c,k[a+32>>2]|0)|0;while(0);return b|0}function fm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;o=s+16|0;c=s+8|0;n=s+4|0;m=s;p=(b|0)==-1;a:do if(!p){k[c>>2]=b;if(i[a+44>>0]|0)if((gl(c,4,1,k[a+32>>2]|0)|0)==1){q=11;break}else{c=-1;break}k[n>>2]=o;j=c+4|0;l=a+36|0;e=a+40|0;f=o+8|0;g=o;h=a+32|0;while(1){a=k[l>>2]|0;a=ac[k[(k[a>>2]|0)+12>>2]&15](a,k[e>>2]|0,c,j,m,o,f,n)|0;if((k[m>>2]|0)==(c|0)){c=-1;break a}if((a|0)==3)break;d=(a|0)==1;if(a>>>0>=2){c=-1;break a}a=(k[n>>2]|0)-g|0;if((gl(o,1,a,k[h>>2]|0)|0)!=(a|0)){c=-1;break a}if(d)c=d?k[m>>2]|0:c;else{q=11;break a}}if((gl(c,1,1,k[h>>2]|0)|0)!=1)c=-1;else q=11}else q=11;while(0);if((q|0)==11)c=p?0:b;r=s;return c|0}function gm(a,b){a=a|0;b=b|0;var c=0,d=0;d=Ss(b,44288)|0;c=a+36|0;k[c>>2]=d;d=Ob[k[(k[d>>2]|0)+24>>2]&127](d)|0;b=a+44|0;k[b>>2]=d;c=k[c>>2]|0;c=(Ob[k[(k[c>>2]|0)+28>>2]&127](c)|0)&1;i[a+53>>0]=c;if((k[b>>2]|0)>8)$r(56783);return}function hm(a){a=a|0;Mn(a);mj(a);return}function im(a){a=a|0;return lm(a,0)|0}function jm(a){a=a|0;return lm(a,1)|0}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;j=l+16|0;h=l+8|0;d=l+4|0;e=l;f=a+52|0;c=(i[f>>0]|0)!=0;a:do if((b|0)==-1)if(c)b=-1;else{b=k[a+48>>2]|0;i[f>>0]=(b|0)!=-1&1}else{g=a+48|0;b:do if(c){k[d>>2]=k[g>>2];c=k[a+36>>2]|0;switch(ac[k[(k[c>>2]|0)+12>>2]&15](c,k[a+40>>2]|0,d,d+4|0,e,j,j+8|0,h)|0){case 1:case 2:{b=-1;break a}case 3:{i[j>>0]=k[g>>2];k[h>>2]=j+1;break}default:{}}c=a+32|0;while(1){d=k[h>>2]|0;if(d>>>0<=j>>>0)break b;a=d+-1|0;k[h>>2]=a;if((kl(i[a>>0]|0,k[c>>2]|0)|0)==-1){b=-1;break a}}}while(0);k[g>>2]=b;i[f>>0]=1}while(0);r=l;return b|0}function lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=r;r=r+32|0;p=q+16|0;o=q+8|0;l=q+4|0;m=q;e=a+52|0;a:do if(i[e>>0]|0){d=a+48|0;c=k[d>>2]|0;if(b){k[d>>2]=-1;i[e>>0]=0}}else{c=k[a+44>>2]|0;c=(c|0)>1?c:1;n=a+32|0;if((c|0)>0){e=0;do{d=hl(k[n>>2]|0)|0;if((d|0)==-1){c=-1;break a}i[p+e>>0]=d;e=e+1|0}while((e|0)<(c|0))}b:do if(!(i[a+53>>0]|0)){g=a+40|0;h=a+36|0;j=o+4|0;c:while(1){s=k[g>>2]|0;e=s;d=k[e>>2]|0;e=k[e+4>>2]|0;t=k[h>>2]|0;f=p+c|0;switch(ac[k[(k[t>>2]|0)+16>>2]&15](t,s,p,f,l,o,j,m)|0){case 2:{c=-1;break a}case 3:break c;case 1:break;default:break b}t=k[g>>2]|0;k[t>>2]=d;k[t+4>>2]=e;if((c|0)==8){c=-1;break a}d=hl(k[n>>2]|0)|0;if((d|0)==-1){c=-1;break a}i[f>>0]=d;c=c+1|0}k[o>>2]=i[p>>0]}else k[o>>2]=i[p>>0];while(0);if(b){c=k[o>>2]|0;k[a+48>>2]=c;break}while(1){if((c|0)<=0)break;c=c+-1|0;if((kl(i[p+c>>0]|0,k[n>>2]|0)|0)==-1){c=-1;break a}}c=k[o>>2]|0}while(0);r=q;return c|0}function mm(a){a=a|0;xn(a);mj(a);return}function nm(a,b){a=a|0;b=b|0;Ob[k[(k[a>>2]|0)+24>>2]&127](a)|0;b=Ss(b,44280)|0;k[a+36>>2]=b;b=(Ob[k[(k[b>>2]|0)+28>>2]&127](b)|0)&1;i[a+44>>0]=b;return}function om(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+16|0;h=j+8|0;g=j;c=a+36|0;d=a+40|0;e=h+8|0;f=h;b=a+32|0;a:while(1){a=k[c>>2]|0;a=Wb[k[(k[a>>2]|0)+20>>2]&31](a,k[d>>2]|0,h,e,g)|0;l=(k[g>>2]|0)-f|0;if((gl(h,1,l,k[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{i=4;break a}}}if((i|0)==4)a=((dl(k[b>>2]|0)|0)!=0)<<31>>31;r=j;return a|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if(!(i[a+44>>0]|0))if((c|0)>0){d=b;b=0;while(1){if((Vb[k[(k[a>>2]|0)+52>>2]&63](a,l[d>>0]|0)|0)==-1)break a;b=b+1|0;if((b|0)<(c|0))d=d+1|0;else break}}else b=0;else b=gl(b,1,c,k[a+32>>2]|0)|0;while(0);return b|0}function qm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;o=s+16|0;c=s+8|0;n=s+4|0;m=s;p=(b|0)==-1;a:do if(!p){i[c>>0]=b;if(i[a+44>>0]|0)if((gl(c,1,1,k[a+32>>2]|0)|0)==1){q=11;break}else{c=-1;break}k[n>>2]=o;l=c+1|0;e=a+36|0;f=a+40|0;g=o+8|0;h=o;j=a+32|0;while(1){a=k[e>>2]|0;a=ac[k[(k[a>>2]|0)+12>>2]&15](a,k[f>>2]|0,c,l,m,o,g,n)|0;if((k[m>>2]|0)==(c|0)){c=-1;break a}if((a|0)==3)break;d=(a|0)==1;if(a>>>0>=2){c=-1;break a}a=(k[n>>2]|0)-h|0;if((gl(o,1,a,k[j>>2]|0)|0)!=(a|0)){c=-1;break a}if(d)c=d?k[m>>2]|0:c;else{q=11;break a}}if((gl(c,1,1,k[j>>2]|0)|0)!=1)c=-1;else q=11}else q=11;while(0);if((q|0)==11)c=p?0:b;r=s;return c|0}function rm(a,b){a=a|0;b=b|0;var c=0,d=0;d=Ss(b,44280)|0;c=a+36|0;k[c>>2]=d;d=Ob[k[(k[d>>2]|0)+24>>2]&127](d)|0;b=a+44|0;k[b>>2]=d;c=k[c>>2]|0;c=(Ob[k[(k[c>>2]|0)+28>>2]&127](c)|0)&1;i[a+53>>0]=c;if((k[b>>2]|0)>8)$r(56783);return}function sm(a){a=a|0;xn(a);mj(a);return}function tm(a){a=a|0;return wm(a,0)|0}function um(a){a=a|0;return wm(a,1)|0}function vm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;j=l+16|0;h=l+4|0;d=l+8|0;e=l;f=a+52|0;c=(i[f>>0]|0)!=0;a:do if((b|0)==-1)if(c)b=-1;else{b=k[a+48>>2]|0;i[f>>0]=(b|0)!=-1&1}else{g=a+48|0;b:do if(c){i[d>>0]=k[g>>2];c=k[a+36>>2]|0;switch(ac[k[(k[c>>2]|0)+12>>2]&15](c,k[a+40>>2]|0,d,d+1|0,e,j,j+8|0,h)|0){case 1:case 2:{b=-1;break a}case 3:{i[j>>0]=k[g>>2];k[h>>2]=j+1;break}default:{}}c=a+32|0;while(1){d=k[h>>2]|0;if(d>>>0<=j>>>0)break b;a=d+-1|0;k[h>>2]=a;if((kl(i[a>>0]|0,k[c>>2]|0)|0)==-1){b=-1;break a}}}while(0);k[g>>2]=b;i[f>>0]=1}while(0);r=l;return b|0}function wm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+32|0;q=s+16|0;p=s+8|0;m=s+4|0;n=s;e=a+52|0;a:do if(i[e>>0]|0){d=a+48|0;c=k[d>>2]|0;if(b){k[d>>2]=-1;i[e>>0]=0}}else{c=k[a+44>>2]|0;c=(c|0)>1?c:1;o=a+32|0;if((c|0)>0){e=0;do{d=hl(k[o>>2]|0)|0;if((d|0)==-1){c=-1;break a}i[q+e>>0]=d;e=e+1|0}while((e|0)<(c|0))}b:do if(!(i[a+53>>0]|0)){g=a+40|0;h=a+36|0;j=p+1|0;c:while(1){t=k[g>>2]|0;e=t;d=k[e>>2]|0;e=k[e+4>>2]|0;u=k[h>>2]|0;f=q+c|0;switch(ac[k[(k[u>>2]|0)+16>>2]&15](u,t,q,f,m,p,j,n)|0){case 2:{c=-1;break a}case 3:break c;case 1:break;default:break b}u=k[g>>2]|0;k[u>>2]=d;k[u+4>>2]=e;if((c|0)==8){c=-1;break a}d=hl(k[o>>2]|0)|0;if((d|0)==-1){c=-1;break a}i[f>>0]=d;c=c+1|0}i[p>>0]=i[q>>0]|0}else i[p>>0]=i[q>>0]|0;while(0);if(b){c=i[p>>0]|0;k[a+48>>2]=c&255}else{while(1){if((c|0)<=0)break;c=c+-1|0;if((kl(l[q+c>>0]|0,k[o>>2]|0)|0)==-1){c=-1;break a}}c=i[p>>0]|0}c=c&255}while(0);r=s;return c|0}function xm(a){a=a|0;return}function ym(a){a=a|0;a=a+4|0;k[a>>2]=(k[a>>2]|0)+1;return}function zm(a){a=a|0;var b=0,c=0;c=a+4|0;b=k[c>>2]|0;k[c>>2]=b+-1;if(!b){Lb[k[(k[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function Am(a,b){a=a|0;b=b|0;k[a>>2]=36868;x=0;ra(86,a+4|0,((i[b>>0]&1)==0?b+1|0:k[b+8>>2]|0)|0);a=x;x=0;if(a&1){a=Wa()|0;fb(a|0)}else return}function Bm(a,b){a=a|0;b=b|0;k[a>>2]=36868;x=0;ra(86,a+4|0,b|0);a=x;x=0;if(a&1){a=Wa()|0;fb(a|0)}else return}function Cm(a,b){a=a|0;b=b|0;var c=0,d=0;d=xl(b)|0;c=lj(d+13|0)|0;k[c>>2]=d;k[c+4>>2]=d;k[c+8>>2]=0;c=c+12|0;vw(c|0,b|0,d+1|0)|0;k[a>>2]=c;return}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=c;k[a+4>>2]=b;return}function Em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;_b[k[(k[a>>2]|0)+12>>2]&15](d,a,b);if((k[d+4>>2]|0)==(k[c+4>>2]|0))d=(k[d>>2]|0)==(k[c>>2]|0);else d=0;r=e;return d|0}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;return ((k[b>>2]|0)==(c|0)?(k[b+4>>2]|0)==(a|0):0)|0}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;b=nk(c)|0;Qm(a,b,xl(b)|0);return}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=k[b>>2]|0;do if(d){e=i[c>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=k[c+4>>2]|0;if(e){Zm(c,56990)|0;d=k[b>>2]|0}b=k[b+4>>2]|0;_b[k[(k[b>>2]|0)+24>>2]&15](f,b,d);b=i[f>>0]|0;e=(b&1)==0;x=0;va(30,c|0,(e?f+1|0:k[f+8>>2]|0)|0,(e?(b&255)>>>1:k[f+4>>2]|0)|0)|0;b=x;x=0;if(b&1){g=Wa()|0;Sm(f);fb(g|0)}else{Sm(f);break}}while(0);k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;r=g;return}function Im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;d=e+12|0;f=e;Qm(f,c,xl(c)|0);x=0;Fa(10,d|0,b|0,f|0);c=x;x=0;do if(!(c&1)){x=0;ra(87,a|0,d|0);c=x;x=0;if(c&1){e=Wa()|0;Sm(d);d=e;break}else{Sm(d);Sm(f);k[a>>2]=42664;c=k[b+4>>2]|0;f=a+8|0;k[f>>2]=k[b>>2];k[f+4>>2]=c;r=e;return}}else d=Wa()|0;while(0);Sm(f);fb(d|0)}function Jm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=r;r=r+48|0;e=f+24|0;h=f+16|0;g=f;k[h>>2]=b;k[h+4>>2]=c;Pm(g,d);x=0;Fa(10,e|0,h|0,g|0);d=x;x=0;do if(!(d&1)){x=0;ra(87,a|0,e|0);h=x;x=0;if(h&1){h=Wa()|0;Sm(e);e=h;break}else{Sm(e);Sm(g);k[a>>2]=42664;k[a+8>>2]=b;k[a+12>>2]=c;r=f;return}}else e=Wa()|0;while(0);Sm(g);fb(e|0)}function Km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+48|0;d=e+24|0;g=e+16|0;f=e;k[g>>2]=b;k[g+4>>2]=c;Qm(f,58898,0);x=0;Fa(10,d|0,g|0,f|0);g=x;x=0;do if(!(g&1)){x=0;ra(87,a|0,d|0);g=x;x=0;if(g&1){g=Wa()|0;Sm(d);d=g;break}else{Sm(d);Sm(f);k[a>>2]=42664;k[a+8>>2]=b;k[a+12>>2]=c;r=e;return}}else d=Wa()|0;while(0);Sm(f);fb(d|0)}function Lm(a){a=a|0;wj(a);return}function Mm(a){a=a|0;wj(a);mj(a);return}function Nm(a){a=a|0;return}function Om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Ab(42676)|0;if((k[a>>2]|0)==1)do Ma(42704,42676)|0;while((k[a>>2]|0)==1);do if(!(k[a>>2]|0)){k[a>>2]=1;x=0;ta(72,42676)|0;d=x;x=0;if((((!(d&1)?(x=0,qa(c|0,b|0),d=x,x=0,!(d&1)):0)?(x=0,ta(73,42676)|0,d=x,x=0,!(d&1)):0)?(k[a>>2]=-1,x=0,ta(72,42676)|0,d=x,x=0,!(d&1)):0)?(x=0,ta(74,42704)|0,d=x,x=0,!(d&1)):0)break;d=Wa(0)|0;cb(d|0)|0;x=0;ta(73,42676)|0;d=x;x=0;if((!(d&1)?(k[a>>2]=0,x=0,ta(72,42676)|0,d=x,x=0,!(d&1)):0)?(x=0,ta(74,42704)|0,d=x,x=0,!(d&1)):0){x=0;Ga(5);x=0}b=Wa()|0;x=0;Ga(3);d=x;x=0;if(d&1){d=Wa(0)|0;oc(d)}else fb(b|0)}else lb(42676)|0;while(0);return}function Pm(a,b){a=a|0;b=b|0;if(!(i[b>>0]&1)){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2]}else Qm(a,k[b+8>>2]|0,k[b+4>>2]|0);return}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0>4294967279)ij(a);if(c>>>0<11){i[a>>0]=c<<1;a=a+1|0}else{e=c+16&-16;d=lj(e)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=c;a=d}vw(a|0,b|0,c|0)|0;i[a+c>>0]=0;return}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(b>>>0>4294967279)ij(a);if(b>>>0<11){i[a>>0]=b<<1;a=a+1|0}else{e=b+16&-16;d=lj(e)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=b;a=d}sw(a|0,c|0,b|0)|0;i[a+b>>0]=0;return}function Sm(a){a=a|0;if(i[a>>0]&1)mj(k[a+8>>2]|0);return}function Tm(a,b){a=a|0;b=b|0;var c=0,d=0;if((a|0)!=(b|0)){c=i[b>>0]|0;d=(c&1)==0;Vm(a,d?b+1|0:k[b+8>>2]|0,d?(c&255)>>>1:k[b+4>>2]|0)|0}return a|0}function Um(a,b){a=a|0;b=b|0;return Vm(a,b,xl(b)|0)|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i[a>>0]|0;if(!(d&1))f=10;else{d=k[a>>2]|0;f=(d&-2)+-1|0;d=d&255}e=(d&1)==0;do if(f>>>0>=c>>>0){if(e)d=a+1|0;else d=k[a+8>>2]|0;xw(d|0,b|0,c|0)|0;i[d+c>>0]=0;if(!(i[a>>0]&1)){i[a>>0]=c<<1;break}else{k[a+4>>2]=c;break}}else{if(e)d=(d&255)>>>1;else d=k[a+4>>2]|0;an(a,f,c-f|0,d,0,d,c,b)}while(0);return a|0}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i[a>>0]|0;e=(d&1)==0;if(e)d=(d&255)>>>1;else d=k[a+4>>2]|0;do if(d>>>0>=b>>>0)if(e){i[a+1+b>>0]=0;i[a>>0]=b<<1;break}else{i[(k[a+8>>2]|0)+b>>0]=0;k[a+4>>2]=b;break}else Xm(a,b-d|0,c)|0;while(0);return}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if(b){d=i[a>>0]|0;if(!(d&1))e=10;else{d=k[a>>2]|0;e=(d&-2)+-1|0;d=d&255}if(!(d&1))f=(d&255)>>>1;else f=k[a+4>>2]|0;if((e-f|0)>>>0>>0){bn(a,e,b-e+f|0,f,f,0,0);d=i[a>>0]|0}if(!(d&1))e=a+1|0;else e=k[a+8>>2]|0;sw(e+f|0,c|0,b|0)|0;d=f+b|0;if(!(i[a>>0]&1))i[a>>0]=d<<1;else k[a+4>>2]=d;i[e+d>>0]=0}return a|0}function Ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(b>>>0>4294967279)ij(a);c=i[a>>0]|0;if(!(c&1))d=10;else{c=k[a>>2]|0;d=(c&-2)+-1|0;c=c&255}if(!(c&1))h=(c&255)>>>1;else h=k[a+4>>2]|0;b=h>>>0>b>>>0?h:b;if(b>>>0<11)g=10;else g=(b+16&-16)+-1|0;a:do if((g|0)!=(d|0)){do if((g|0)!=10){b=g+1|0;if(g>>>0<=d>>>0){x=0;b=ta(67,b|0)|0;f=x;x=0;if(f&1){a=Wa(0)|0;cb(a|0)|0;eb();break a}}else b=lj(b)|0;if(!(c&1)){d=1;e=a+1|0;f=0;break}else{d=1;e=k[a+8>>2]|0;f=1;break}}else{b=a+1|0;d=0;e=k[a+8>>2]|0;f=1}while(0);if(!(c&1))c=(c&255)>>>1;else c=k[a+4>>2]|0;vw(b|0,e|0,c+1|0)|0;if(f)mj(e);if(d){k[a>>2]=g+1|1;k[a+4>>2]=h;k[a+8>>2]=b;break}else{i[a>>0]=h<<1;break}}while(0);return}function Zm(a,b){a=a|0;b=b|0;return $m(a,b,xl(b)|0)|0}function _m(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i[a>>0]|0;d=(c&1)!=0;if(d){e=(k[a>>2]&-2)+-1|0;f=k[a+4>>2]|0}else{e=10;f=(c&255)>>>1}if((f|0)==(e|0)){bn(a,e,1,e,e,0,0);if(!(i[a>>0]&1))e=7;else e=8}else if(d)e=8;else e=7;if((e|0)==7){i[a>>0]=(f<<1)+2;c=a+1|0;d=f+1|0}else if((e|0)==8){c=k[a+8>>2]|0;d=f+1|0;k[a+4>>2]=d}i[c+f>>0]=b;i[c+d>>0]=0;return}function $m(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i[a>>0]|0;if(!(d&1))e=10;else{d=k[a>>2]|0;e=(d&-2)+-1|0;d=d&255}if(!(d&1))f=(d&255)>>>1;else f=k[a+4>>2]|0;if((e-f|0)>>>0>=c>>>0){if(c){if(!(d&1))e=a+1|0;else e=k[a+8>>2]|0;vw(e+f|0,b|0,c|0)|0;d=f+c|0;if(!(i[a>>0]&1))i[a>>0]=d<<1;else k[a+4>>2]=d;i[e+d>>0]=0}}else an(a,e,c-e+f|0,f,f,0,c,b);return a|0}function an(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0;if((-18-b|0)>>>0>>0)ij(a);if(!(i[a>>0]&1))m=a+1|0;else m=k[a+8>>2]|0;if(b>>>0<2147483623){j=c+b|0;l=b<<1;j=j>>>0>>0?l:j;j=j>>>0<11?11:j+16&-16}else j=-17;l=lj(j)|0;if(e)vw(l|0,m|0,e|0)|0;if(g)vw(l+e|0,h|0,g|0)|0;c=d-f|0;if((c|0)!=(e|0))vw(l+(g+e)|0,m+(f+e)|0,c-e|0)|0;if((b|0)!=10)mj(m);k[a+8>>2]=l;k[a>>2]=j|1;b=c+g|0;k[a+4>>2]=b;i[l+b>>0]=0;return}function bn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0;if((-17-b|0)>>>0>>0)ij(a);if(!(i[a>>0]&1))l=a+1|0;else l=k[a+8>>2]|0;if(b>>>0<2147483623){h=c+b|0;j=b<<1;h=h>>>0>>0?j:h;h=h>>>0<11?11:h+16&-16}else h=-17;j=lj(h)|0;if(e)vw(j|0,l|0,e|0)|0;c=d-f|0;if((c|0)!=(e|0))vw(j+(g+e)|0,l+(f+e)|0,c-e|0)|0;if((b|0)!=10)mj(l);k[a+8>>2]=j;k[a>>2]=h|1;return}function cn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0>1073741807)ij(a);if(c>>>0<2){i[a>>0]=c<<1;a=a+4|0}else{e=c+4&-4;d=lj(e<<2)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=c;a=d}Al(a,b,c)|0;k[a+(c<<2)>>2]=0;return}function dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(b>>>0>1073741807)ij(a);if(b>>>0<2){i[a>>0]=b<<1;a=a+4|0}else{e=b+4&-4;d=lj(e<<2)|0;k[a+8>>2]=d;k[a>>2]=e|1;k[a+4>>2]=b;a=d}Cl(a,c,b)|0;k[a+(b<<2)>>2]=0;return}function en(a){a=a|0;if(i[a>>0]&1)mj(k[a+8>>2]|0);return}function fn(a,b){a=a|0;b=b|0;return gn(a,b,zl(b)|0)|0}function gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i[a>>0]|0;if(!(d&1))f=1;else{d=k[a>>2]|0;f=(d&-2)+-1|0;d=d&255}e=(d&1)==0;do if(f>>>0>=c>>>0){if(e)d=a+4|0;else d=k[a+8>>2]|0;Bl(d,b,c)|0;k[d+(c<<2)>>2]=0;if(!(i[a>>0]&1)){i[a>>0]=c<<1;break}else{k[a+4>>2]=c;break}}else{if(e)d=(d&255)>>>1;else d=k[a+4>>2]|0;kn(a,f,c-f|0,d,0,d,c,b)}while(0);return a|0}function hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(b>>>0>1073741807)ij(a);c=i[a>>0]|0;if(!(c&1))d=1;else{c=k[a>>2]|0;d=(c&-2)+-1|0;c=c&255}if(!(c&1))h=(c&255)>>>1;else h=k[a+4>>2]|0;b=h>>>0>b>>>0?h:b;if(b>>>0<2)g=1;else g=(b+4&-4)+-1|0;a:do if((g|0)!=(d|0)){do if((g|0)!=1){b=(g<<2)+4|0;if(g>>>0<=d>>>0){x=0;b=ta(67,b|0)|0;f=x;x=0;if(f&1){a=Wa(0)|0;cb(a|0)|0;eb();break a}}else b=lj(b)|0;if(!(c&1)){d=1;e=a+4|0;f=0;break}else{d=1;e=k[a+8>>2]|0;f=1;break}}else{b=a+4|0;d=0;e=k[a+8>>2]|0;f=1}while(0);if(!(c&1))c=(c&255)>>>1;else c=k[a+4>>2]|0;Al(b,e,c+1|0)|0;if(f)mj(e);if(d){k[a>>2]=g+1|1;k[a+4>>2]=h;k[a+8>>2]=b;break}else{i[a>>0]=h<<1;break}}while(0);return}function jn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i[a>>0]|0;d=(c&1)!=0;if(d){e=(k[a>>2]&-2)+-1|0;f=k[a+4>>2]|0}else{e=1;f=(c&255)>>>1}if((f|0)==(e|0)){ln(a,e,1,e,e,0,0);if(!(i[a>>0]&1))e=7;else e=8}else if(d)e=8;else e=7;if((e|0)==7){i[a>>0]=(f<<1)+2;c=a+4|0;d=f+1|0}else if((e|0)==8){c=k[a+8>>2]|0;d=f+1|0;k[a+4>>2]=d}k[c+(f<<2)>>2]=b;k[c+(d<<2)>>2]=0;return}function kn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0;if((1073741806-b|0)>>>0>>0)ij(a);if(!(i[a>>0]&1))m=a+4|0;else m=k[a+8>>2]|0;if(b>>>0<536870887){j=c+b|0;l=b<<1;j=j>>>0>>0?l:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;l=lj(j<<2)|0;if(e)Al(l,m,e)|0;if(g)Al(l+(e<<2)|0,h,g)|0;c=d-f|0;if((c|0)!=(e|0))Al(l+(g+e<<2)|0,m+(f+e<<2)|0,c-e|0)|0;if((b|0)!=1)mj(m);k[a+8>>2]=l;k[a>>2]=j|1;b=c+g|0;k[a+4>>2]=b;k[l+(b<<2)>>2]=0;return}function ln(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0;if((1073741807-b|0)>>>0>>0)ij(a);if(!(i[a>>0]&1))l=a+4|0;else l=k[a+8>>2]|0;if(b>>>0<536870887){h=c+b|0;j=b<<1;h=h>>>0>>0?j:h;h=h>>>0<2?2:h+4&-4}else h=1073741807;j=lj(h<<2)|0;if(e)Al(j,l,e)|0;c=d-f|0;if((c|0)!=(e|0))Al(j+(g+e<<2)|0,l+(f+e<<2)|0,c-e|0)|0;if((b|0)!=1)mj(l);k[a+8>>2]=j;k[a>>2]=h|1;return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=b;d=c-e|0;if(d>>>0>4294967279)ij(a);if(d>>>0<11){i[a>>0]=d<<1;f=a+1|0}else{g=d+16&-16;f=lj(g)|0;k[a+8>>2]=f;k[a>>2]=g|1;k[a+4>>2]=d}a=c-e|0;if((b|0)!=(c|0)){d=f;while(1){i[d>>0]=i[b>>0]|0;b=b+1|0;if((b|0)==(c|0))break;else d=d+1|0}}i[f+a>>0]=0;return}function nn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b;d=c-f|0;e=d>>2;if(e>>>0>1073741807)ij(a);if(e>>>0<2){i[a>>0]=d>>>1;a=a+4|0}else{g=e+4&-4;d=lj(g<<2)|0;k[a+8>>2]=d;k[a>>2]=g|1;k[a+4>>2]=e;a=d}e=(c-f|0)>>>2;if((b|0)!=(c|0)){d=a;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}}k[a+(e<<2)>>2]=0;return}function on(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c;e=(k[a+24>>2]|0)==0;k[a+16>>2]=e&1|b;if(!((e&1|b)&k[a+20>>2])){r=c;return}b=Va(16)|0;Co()|0;k[d>>2]=1;k[d+4>>2]=43112;x=0;Fa(11,b|0,57437,d|0);e=x;x=0;if(e&1){e=Wa()|0;Ua(b|0);fb(e|0)}else ub(b|0,864,112)}function pn(a){a=a|0;var b=0;k[a>>2]=43068;x=0;ra(88,a|0,0);b=x;x=0;if(b&1){b=Wa(0)|0;oc(b)}else{Qs(a+28|0);Ql(k[a+32>>2]|0);Ql(k[a+36>>2]|0);Ql(k[a+48>>2]|0);Ql(k[a+60>>2]|0);return}}function qn(a){a=a|0;pn(a);return}function rn(a){a=a|0;pn(a);mj(a);return}function sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a+40>>2]|0;d=a+32|0;e=a+36|0;if(c)do{c=c+-1|0;_b[k[(k[d>>2]|0)+(c<<2)>>2]&15](b,a,k[(k[e>>2]|0)+(c<<2)>>2]|0)}while((c|0)!=0);return}function tn(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;Ps(b,a+28|0);r=c;return k[b>>2]|0}function un(a,b){a=a|0;b=b|0;var c=0;k[a+24>>2]=b;k[a+16>>2]=(b|0)==0&1;k[a+20>>2]=0;k[a+4>>2]=4098;k[a+12>>2]=0;k[a+8>>2]=6;c=a+28|0;b=a+32|0;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Os(c);return}function vn(a){a=a|0;pn(a);return}function wn(a){a=a|0;pn(a);mj(a);return}function xn(a){a=a|0;k[a>>2]=42760;Qs(a+4|0);return}function yn(a){a=a|0;k[a>>2]=42760;Qs(a+4|0);mj(a);return}function zn(a){a=a|0;k[a>>2]=42760;Os(a+4|0);a=a+8|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function An(a,b){a=a|0;b=b|0;return}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function Dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function En(a){a=a|0;return 0}function Fn(a){a=a|0;return 0}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+16|0;a:do if((c|0)>0){e=b;b=0;while(1){d=k[f>>2]|0;if(d>>>0<(k[g>>2]|0)>>>0){k[f>>2]=d+1;d=i[d>>0]|0}else{d=Ob[k[(k[a>>2]|0)+40>>2]&127](a)|0;if((d|0)==-1)break a;d=d&255}i[e>>0]=d;b=b+1|0;if((b|0)<(c|0))e=e+1|0;else break}}else b=0;while(0);return b|0}function Hn(a){a=a|0;return -1}function In(a){a=a|0;var b=0;if((Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=k[b>>2]|0;k[b>>2]=a+1;a=l[a>>0]|0}return a|0}function Jn(a,b){a=a|0;b=b|0;return -1}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=a+24|0;g=a+28|0;a:do if((c|0)>0){e=b;b=0;while(1){d=k[f>>2]|0;if(d>>>0>=(k[g>>2]|0)>>>0){if((Vb[k[(k[a>>2]|0)+52>>2]&63](a,l[e>>0]|0)|0)==-1)break a}else{h=i[e>>0]|0;k[f>>2]=d+1;i[d>>0]=h}b=b+1|0;if((b|0)<(c|0))e=e+1|0;else break}}else b=0;while(0);return b|0}function Ln(a,b){a=a|0;b=b|0;return -1}function Mn(a){a=a|0;k[a>>2]=42824;Qs(a+4|0);return}function Nn(a){a=a|0;k[a>>2]=42824;Qs(a+4|0);mj(a);return}function On(a){a=a|0;k[a>>2]=42824;Os(a+4|0);a=a+8|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function Pn(a,b){a=a|0;b=b|0;return}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Rn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function Sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=a;k[b>>2]=0;k[b+4>>2]=0;b=a+8|0;k[b>>2]=-1;k[b+4>>2]=-1;return}function Tn(a){a=a|0;return 0}function Un(a){a=a|0;return 0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+16|0;a:do if((c|0)>0){e=b;b=0;while(1){d=k[f>>2]|0;if(d>>>0>=(k[g>>2]|0)>>>0){d=Ob[k[(k[a>>2]|0)+40>>2]&127](a)|0;if((d|0)==-1)break a}else{k[f>>2]=d+4;d=k[d>>2]|0}k[e>>2]=d;b=b+1|0;if((b|0)<(c|0))e=e+4|0;else break}}else b=0;while(0);return b|0}function Wn(a){a=a|0;return -1}function Xn(a){a=a|0;var b=0;if((Ob[k[(k[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=k[b>>2]|0;k[b>>2]=a+4;a=k[a>>2]|0}return a|0}function Yn(a,b){a=a|0;b=b|0;return -1}function Zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=a+24|0;g=a+28|0;a:do if((c|0)>0){e=b;b=0;while(1){d=k[f>>2]|0;if(d>>>0>=(k[g>>2]|0)>>>0){if((Vb[k[(k[a>>2]|0)+52>>2]&63](a,k[e>>2]|0)|0)==-1)break a}else{h=k[e>>2]|0;k[f>>2]=d+4;k[d>>2]=h}b=b+1|0;if((b|0)<(c|0))e=e+4|0;else break}}else b=0;while(0);return b|0}function _n(a,b){a=a|0;b=b|0;return -1}function $n(a){a=a|0;pn(a+8|0);return}function ao(a){a=a|0;pn(a+((k[(k[a>>2]|0)+-12>>2]|0)+8)|0);return}function bo(a){a=a|0;pn(a+8|0);mj(a);return}function co(a){a=a|0;bo(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function eo(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;a:do if(k[a+((k[(k[a>>2]|0)+-12>>2]|0)+24)>>2]|0){x=0;ra(65,c|0,a|0);b=x;x=0;b:do if(b&1)b=Wa(0)|0;else{do if(i[c>>0]|0){b=k[a+((k[(k[a>>2]|0)+-12>>2]|0)+24)>>2]|0;x=0;b=ta(k[(k[b>>2]|0)+24>>2]|0,b|0)|0;e=x;x=0;if(!(e&1)){if((b|0)!=-1)break;e=k[(k[a>>2]|0)+-12>>2]|0;x=0;ra(66,a+e|0,k[a+(e+16)>>2]|1|0);e=x;x=0;if(!(e&1))break}b=Wa(0)|0;ro(c);break b}while(0);ro(c);break a}while(0);cb(b|0)|0;x=0;qa(181,a+(k[(k[a>>2]|0)+-12>>2]|0)|0);e=x;x=0;if(!(e&1)){eb();break}b=Wa()|0;x=0;Ga(3);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)}else fb(b|0)}while(0);r=d;return a|0}function fo(a){a=a|0;var b=0;b=a+16|0;k[b>>2]=k[b>>2]|1;if(!(k[a+20>>2]&1))return;else vb()}function go(a){a=a|0;pn(a+8|0);return}function ho(a){a=a|0;pn(a+((k[(k[a>>2]|0)+-12>>2]|0)+8)|0);return}function io(a){a=a|0;pn(a+8|0);mj(a);return}function jo(a){a=a|0;io(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function ko(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;a:do if(k[a+((k[(k[a>>2]|0)+-12>>2]|0)+24)>>2]|0){x=0;ra(89,c|0,a|0);b=x;x=0;b:do if(b&1)b=Wa(0)|0;else{do if(i[c>>0]|0){b=k[a+((k[(k[a>>2]|0)+-12>>2]|0)+24)>>2]|0;x=0;b=ta(k[(k[b>>2]|0)+24>>2]|0,b|0)|0;e=x;x=0;if(!(e&1)){if((b|0)!=-1)break;e=k[(k[a>>2]|0)+-12>>2]|0;x=0;ra(66,a+e|0,k[a+(e+16)>>2]|1|0);e=x;x=0;if(!(e&1))break}b=Wa(0)|0;zo(c);break b}while(0);zo(c);break a}while(0);cb(b|0)|0;x=0;qa(181,a+(k[(k[a>>2]|0)+-12>>2]|0)|0);e=x;x=0;if(!(e&1)){eb();break}b=Wa()|0;x=0;Ga(3);e=x;x=0;if(e&1){e=Wa(0)|0;oc(e)}else fb(b|0)}while(0);r=d;return a|0}function lo(a,b){a=a|0;b=b|0;return}function mo(a){a=a|0;pn(a+4|0);return}function no(a){a=a|0;pn(a+((k[(k[a>>2]|0)+-12>>2]|0)+4)|0);return}function oo(a){a=a|0;pn(a+4|0);mj(a);return}function po(a){a=a|0;oo(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function qo(a,b){a=a|0;b=b|0;var c=0;i[a>>0]=0;k[a+4>>2]=b;c=k[(k[b>>2]|0)+-12>>2]|0;if(!(k[b+(c+16)>>2]|0)){c=k[b+(c+72)>>2]|0;if(c)eo(c)|0;i[a>>0]=1}return}function ro(a){a=a|0;var b=0,c=0;a=a+4|0;c=k[a>>2]|0;b=k[(k[c>>2]|0)+-12>>2]|0;do if((((k[c+(b+24)>>2]|0)!=0?(k[c+(b+16)>>2]|0)==0:0)?(k[c+(b+4)>>2]&8192|0)!=0:0)?!(gb()|0):0){b=k[a>>2]|0;b=k[b+((k[(k[b>>2]|0)+-12>>2]|0)+24)>>2]|0;x=0;b=ta(k[(k[b>>2]|0)+24>>2]|0,b|0)|0;c=x;x=0;if(!(c&1)){if((b|0)!=-1)break;b=k[a>>2]|0;c=k[(k[b>>2]|0)+-12>>2]|0;x=0;ra(66,b+c|0,k[b+(c+16)>>2]|1|0);c=x;x=0;if(!(c&1))break}c=Wa(0)|0;cb(c|0)|0;x=0;Ga(3);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)}}while(0);return}function so(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;h=o+20|0;j=o+16|0;m=o+8|0;c=o;x=0;ra(65,m|0,a|0);l=x;x=0;a:do if(l&1){c=Wa(0)|0;d=a;e=a;n=19}else{do if(i[m>>0]|0){l=tn(a+(k[(k[a>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=l;x=0;l=Aa(37,c|0,43392)|0;g=x;x=0;if(g&1){n=Wa(0)|0;Qs(c);c=n}else{Qs(c);e=k[(k[a>>2]|0)+-12>>2]|0;g=k[a+(e+24)>>2]|0;d=a+e|0;e=a+(e+76)|0;c=k[e>>2]|0;do if((c|0)==-1){c=tn(d)|0;k[h>>2]=c;x=0;c=Aa(37,h|0,44220)|0;p=x;x=0;if(!(p&1)?(x=0,f=Aa(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0,p=x,x=0,!(p&1)):0){Qs(h);c=f<<24>>24;k[e>>2]=c;n=10;break}c=Wa(0)|0;Qs(h)}else n=10;while(0);if((n|0)==10){p=k[(k[l>>2]|0)+16>>2]|0;k[j>>2]=g;x=0;k[h>>2]=k[j>>2];c=Ba(p|0,l|0,h|0,d|0,c&255|0,b|0)|0;p=x;x=0;if(!(p&1)){if(c)break;p=k[(k[a>>2]|0)+-12>>2]|0;x=0;ra(66,a+p|0,k[a+(p+16)>>2]|5|0);p=x;x=0;if(!(p&1))break}c=Wa(0)|0}}ro(m);d=a;e=a;n=19;break a}while(0);ro(m)}while(0);do if((n|0)==19){cb(c|0)|0;x=0;qa(181,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);p=x;x=0;if(!(p&1)){eb();break}c=Wa()|0;x=0;Ga(3);p=x;x=0;if(p&1){p=Wa(0)|0;oc(p)}else fb(c|0)}while(0);r=o;return a|0}function to(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;h=o+20|0;j=o+16|0;m=o+8|0;c=o;x=0;ra(65,m|0,a|0);l=x;x=0;a:do if(l&1){c=Wa(0)|0;d=a;e=a;n=19}else{do if(i[m>>0]|0){l=tn(a+(k[(k[a>>2]|0)+-12>>2]|0)|0)|0;k[c>>2]=l;x=0;l=Aa(37,c|0,43392)|0;g=x;x=0;if(g&1){n=Wa(0)|0;Qs(c);c=n}else{Qs(c);e=k[(k[a>>2]|0)+-12>>2]|0;g=k[a+(e+24)>>2]|0;d=a+e|0;e=a+(e+76)|0;c=k[e>>2]|0;do if((c|0)==-1){c=tn(d)|0;k[h>>2]=c;x=0;c=Aa(37,h|0,44220)|0;p=x;x=0;if(!(p&1)?(x=0,f=Aa(k[(k[c>>2]|0)+28>>2]|0,c|0,32)|0,p=x,x=0,!(p&1)):0){Qs(h);c=f<<24>>24;k[e>>2]=c;n=10;break}c=Wa(0)|0;Qs(h)}else n=10;while(0);if((n|0)==10){p=k[(k[l>>2]|0)+24>>2]|0;k[j>>2]=g;x=0;k[h>>2]=k[j>>2];c=Ba(p|0,l|0,h|0,d|0,c&255|0,b|0)|0;p=x;x=0;if(!(p&1)){if(c)break;p=k[(k[a>>2]|0)+-12>>2]|0;x=0;ra(66,a+p|0,k[a+(p+16)>>2]|5|0);p=x;x=0;if(!(p&1))break}c=Wa(0)|0}}ro(m);d=a;e=a;n=19;break a}while(0);ro(m)}while(0);do if((n|0)==19){cb(c|0)|0;x=0;qa(181,d+(k[(k[e>>2]|0)+-12>>2]|0)|0);p=x;x=0;if(!(p&1)){eb();break}c=Wa()|0;x=0;Ga(3);p=x;x=0;if(p&1){p=Wa(0)|0;oc(p)}else fb(c|0)}while(0);r=o;return a|0}function uo(a){a=a|0;pn(a+4|0);return}function vo(a){a=a|0;pn(a+((k[(k[a>>2]|0)+-12>>2]|0)+4)|0);return}function wo(a){a=a|0;pn(a+4|0);mj(a);return}function xo(a){a=a|0;wo(a+(k[(k[a>>2]|0)+-12>>2]|0)|0);return}function yo(a,b){a=a|0;b=b|0;var c=0;i[a>>0]=0;k[a+4>>2]=b;c=k[(k[b>>2]|0)+-12>>2]|0;if(!(k[b+(c+16)>>2]|0)){c=k[b+(c+72)>>2]|0;if(c)ko(c)|0;i[a>>0]=1}return}function zo(a){a=a|0;var b=0,c=0;a=a+4|0;c=k[a>>2]|0;b=k[(k[c>>2]|0)+-12>>2]|0;do if((((k[c+(b+24)>>2]|0)!=0?(k[c+(b+16)>>2]|0)==0:0)?(k[c+(b+4)>>2]&8192|0)!=0:0)?!(gb()|0):0){b=k[a>>2]|0;b=k[b+((k[(k[b>>2]|0)+-12>>2]|0)+24)>>2]|0;x=0;b=ta(k[(k[b>>2]|0)+24>>2]|0,b|0)|0;c=x;x=0;if(!(c&1)){if((b|0)!=-1)break;b=k[a>>2]|0;c=k[(k[b>>2]|0)+-12>>2]|0;x=0;ra(66,b+c|0,k[b+(c+16)>>2]|1|0);c=x;x=0;if(!(c&1))break}c=Wa(0)|0;cb(c|0)|0;x=0;Ga(3);c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)}}while(0);return}function Ao(a){a=a|0;return 57453}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)Gm(a,b,c);else Qm(a,57462,35);return}function Co(){if((i[1048]|0)==0?(Qa(1048)|0)!=0:0){k[10778]=43084;tb(72,43112,w|0)|0;Ya(1048)}return 43112}function Do(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;e=d+8|0;f=d;h=c;g=k[h+4>>2]|0;c=f;k[c>>2]=k[h>>2];k[c+4>>2]=g;k[e>>2]=k[f>>2];k[e+4>>2]=k[f+4>>2];Im(a,e,b);k[a>>2]=43048;r=d;return}function Eo(a){a=a|0;Lm(a);return}function Fo(a){a=a|0;Lm(a);mj(a);return}function Go(a){a=a|0;pn(a);mj(a);return}function Ho(a){a=a|0;mj(a);return}function Io(a){a=a|0;return}function Jo(a){a=a|0;return}function Ko(a){a=a|0;mj(a);return}function Lo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:do if((d|0)==(e|0))g=6;else while(1){if((b|0)==(c|0)){b=-1;break a}a=i[b>>0]|0;f=i[d>>0]|0;if(a<<24>>24>24){b=-1;break a}if(f<<24>>24>24){b=1;break a}b=b+1|0;d=d+1|0;if((d|0)==(e|0)){g=6;break}}while(0);if((g|0)==6)b=(b|0)!=(c|0)&1;return b|0}function Mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mn(a,c,d);return}function No(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)==(c|0))a=0;else{a=0;do{a=(i[b>>0]|0)+(a<<4)|0;d=a&-268435456;a=(d>>>24|d)^a;b=b+1|0}while((b|0)!=(c|0))}return a|0}function Oo(a){a=a|0;return}function Po(a){a=a|0;mj(a);return}function Qo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:do if((d|0)==(e|0))g=6;else while(1){if((b|0)==(c|0)){b=-1;break a}a=k[b>>2]|0;f=k[d>>2]|0;if((a|0)<(f|0)){b=-1;break a}if((f|0)<(a|0)){b=1;break a}b=b+4|0;d=d+4|0;if((d|0)==(e|0)){g=6;break}}while(0);if((g|0)==6)b=(b|0)!=(c|0)&1;return b|0}function Ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nn(a,c,d);return}function So(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)==(c|0))a=0;else{a=0;do{a=(k[b>>2]|0)+(a<<4)|0;d=a&-268435456;a=(d>>>24|d)^a;b=b+4|0}while((b|0)!=(c|0))}return a|0}function To(a){a=a|0;return}function Uo(a){a=a|0;mj(a);return}function Vo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+64|0;o=q+56|0;g=q+52|0;m=q+48|0;h=q+44|0;j=q+40|0;l=q+36|0;n=q+32|0;s=q+8|0;p=q;a:do if(!(k[d+4>>2]&1)){k[m>>2]=-1;s=k[(k[a>>2]|0)+16>>2]|0;k[h>>2]=k[b>>2];k[j>>2]=k[c>>2];k[g>>2]=k[h>>2];k[o>>2]=k[j>>2];g=Nb[s&63](a,g,o,d,e,m)|0;k[b>>2]=g;switch(k[m>>2]|0){case 0:{i[f>>0]=0;break a}case 1:{i[f>>0]=1;break a}default:{i[f>>0]=1;k[e>>2]=4;break a}}}else{g=tn(d)|0;k[l>>2]=g;x=0;a=Aa(37,l|0,44220)|0;m=x;x=0;do if(!(m&1)){zm(g)|0;g=tn(d)|0;k[n>>2]=g;x=0;j=Aa(37,n|0,44360)|0;n=x;x=0;if(n&1){s=Wa()|0;zm(g)|0;g=s;break}zm(g)|0;x=0;ra(k[(k[j>>2]|0)+24>>2]|0,s|0,j|0);n=x;x=0;if(!(n&1)){h=s+12|0;x=0;ra(k[(k[j>>2]|0)+28>>2]|0,h|0,j|0);n=x;x=0;if(!(n&1)){k[p>>2]=k[c>>2];x=0;k[o>>2]=k[p>>2];g=na(7,b|0,o|0,s|0,s+24|0,a|0,e|0,1)|0;e=x;x=0;if(e&1){g=Wa()|0;Sm(s+12|0);Sm(s);break}else{i[f>>0]=(g|0)==(s|0)&1;g=k[b>>2]|0;Sm(s+12|0);Sm(s);break a}}}else h=s;g=Wa()|0;j=M;if((s|0)!=(h|0))do{h=h+-12|0;Sm(h)}while((h|0)!=(s|0))}else{s=Wa()|0;zm(g)|0;g=s}while(0);fb(g|0)}while(0);r=q;return g|0}function Wo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Iu(a,i,h,d,e,f)|0;r=g;return a|0}function Xo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Ju(a,i,h,d,e,f)|0;r=g;return a|0}function Yo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Ku(a,i,h,d,e,f)|0;r=g;return a|0}function Zo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Lu(a,i,h,d,e,f)|0;r=g;return a|0}function _o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Mu(a,i,h,d,e,f)|0;r=g;return a|0}function $o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Nu(a,i,h,d,e,f)|0;r=g;return a|0}function ap(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Ou(a,i,h,d,e,f)|0;r=g;return a|0}function bp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Pu(a,i,h,d,e,f)|0;r=g;return a|0}function cp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Qu(a,i,h,d,e,f)|0;r=g;return a|0}function dp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=r;r=r+240|0;w=C;q=C+208|0;E=C+32|0;a=C+28|0;D=C+16|0;v=C+12|0;t=C+48|0;u=C+8|0;s=C+4|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;x=0;d=ta(68,d|0)|0;p=x;x=0;do if(p&1)a=Wa()|0;else{k[a>>2]=d;x=0;a=Aa(37,a|0,44220)|0;p=x;x=0;if(!(p&1)?(x=0,Ea(k[(k[a>>2]|0)+32>>2]|0,a|0,57498,57524,q|0)|0,p=x,x=0,!(p&1)):0){zm(d)|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;if(!(i[D>>0]&1))a=10;else a=(k[D>>2]&-2)+-1|0;x=0;Fa(8,D|0,a|0,0);p=x;x=0;a:do if(!(p&1)){o=D+8|0;p=D+1|0;d=(i[D>>0]&1)==0?p:k[o>>2]|0;k[v>>2]=d;k[u>>2]=t;k[s>>2]=0;n=D+4|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){F=29;break}if((g|0)==-1){k[b>>2]=0;a=0}}}else a=0;h=(a|0)==0;g=k[c>>2]|0;do if(g){if((k[g+12>>2]|0)!=(k[g+16>>2]|0))if(h)break;else break b;x=0;j=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;m=x;x=0;if(m&1){F=29;break b}if((j|0)!=-1)if(h)break;else break b;else{k[c>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(h){g=0;break}else g=0}h=i[D>>0]|0;h=(h&1)==0?(h&255)>>>1:k[n>>2]|0;if((k[v>>2]|0)==(d+h|0)){x=0;Fa(8,D|0,h<<1|0,0);m=x;x=0;if(m&1){F=29;break}if(!(i[D>>0]&1))d=10;else d=(k[D>>2]&-2)+-1|0;x=0;Fa(8,D|0,d|0,0);m=x;x=0;if(m&1){F=29;break}d=(i[D>>0]&1)==0?p:k[o>>2]|0;k[v>>2]=d+h}j=a+12|0;h=k[j>>2]|0;m=a+16|0;if((h|0)==(k[m>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;G=x;x=0;if(G&1){F=29;break}}else h=l[h>>0]|0;if(ep(h&255,16,d,v,s,0,E,t,u,q)|0)break;g=k[j>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;G=x;x=0;if(G&1){F=29;break}else continue}else{k[j>>2]=g+1;continue}}if((F|0)==29){a=Wa()|0;break}x=0;Fa(8,D|0,(k[v>>2]|0)-d|0,0);G=x;x=0;if((!(G&1)?(y=i[D>>0]|0,z=k[o>>2]|0,x=0,A=Da(3)|0,G=x,x=0,!(G&1)):0)?(x=0,k[w>>2]=f,B=Ea(16,((y&1)==0?p:z)|0,A|0,58882,w|0)|0,G=x,x=0,!(G&1)):0){if((B|0)!=1)k[e>>2]=4;if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;G=x;x=0;if(G&1){F=30;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;G=x;x=0;if(G&1){F=30;break a}if((a|0)==-1){k[c>>2]=0;F=55;break}}if(!d)F=56}else F=55;while(0);if((F|0)==55?d:0)F=56;if((F|0)==56)k[e>>2]=k[e>>2]|2;G=k[b>>2]|0;Sm(D);Sm(E);r=C;return G|0}else F=30}else F=30;while(0);if((F|0)==30)a=Wa()|0;Sm(D);break}a=Wa()|0;zm(d)|0}while(0);Sm(E);fb(a|0);return 0}function ep(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0;o=k[d>>2]|0;p=(o|0)==(c|0);do if(p){m=(i[l+24>>0]|0)==a<<24>>24;if(!m?(i[l+25>>0]|0)!=a<<24>>24:0){n=5;break}k[d>>2]=c+1;i[c>>0]=m?43:45;k[e>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=i[g>>0]|0;if(a<<24>>24==f<<24>>24?(((n&1)==0?(n&255)>>>1:k[g+4>>2]|0)|0)!=0:0){m=k[j>>2]|0;if((m-h|0)>=160){m=0;break}b=k[e>>2]|0;k[j>>2]=m+4;k[m>>2]=b;k[e>>2]=0;m=0;break}g=l+26|0;m=l;while(1){if((i[m>>0]|0)==a<<24>>24)break;m=m+1|0;if((m|0)==(g|0)){m=g;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(b|0){case 10:case 8:{if((m|0)>=(b|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-c|0)>=3){m=-1;break a}if((i[o+-1>>0]|0)!=48){m=-1;break a}k[e>>2]=0;m=i[57498+m>>0]|0;k[d>>2]=o+1;i[o>>0]=m;m=0;break a}break}default:{}}m=i[57498+m>>0]|0;k[d>>2]=o+1;i[o>>0]=m;k[e>>2]=(k[e>>2]|0)+1;m=0}}while(0);return m|0}function fp(){var a=0,b=0;do if((i[1968]|0)==0?(Qa(1968)|0)!=0:0){x=0;a=va(31,2147483647,58885,0)|0;b=x;x=0;if(b&1){b=Wa()|0;Bb(1968);fb(b|0)}else{k[11196]=a;Ya(1968);break}}while(0);return k[11196]|0}function gp(a){a=a|0;return}function hp(a){a=a|0;mj(a);return}function ip(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+64|0;o=q+56|0;g=q+52|0;m=q+48|0;h=q+44|0;j=q+40|0;l=q+36|0;n=q+32|0;s=q+8|0;p=q;a:do if(!(k[d+4>>2]&1)){k[m>>2]=-1;s=k[(k[a>>2]|0)+16>>2]|0;k[h>>2]=k[b>>2];k[j>>2]=k[c>>2];k[g>>2]=k[h>>2];k[o>>2]=k[j>>2];g=Nb[s&63](a,g,o,d,e,m)|0;k[b>>2]=g;switch(k[m>>2]|0){case 0:{i[f>>0]=0;break a}case 1:{i[f>>0]=1;break a}default:{i[f>>0]=1;k[e>>2]=4;break a}}}else{g=tn(d)|0;k[l>>2]=g;x=0;a=Aa(37,l|0,44212)|0;m=x;x=0;do if(!(m&1)){zm(g)|0;g=tn(d)|0;k[n>>2]=g;x=0;j=Aa(37,n|0,44368)|0;n=x;x=0;if(n&1){s=Wa()|0;zm(g)|0;g=s;break}zm(g)|0;x=0;ra(k[(k[j>>2]|0)+24>>2]|0,s|0,j|0);n=x;x=0;if(!(n&1)){h=s+12|0;x=0;ra(k[(k[j>>2]|0)+28>>2]|0,h|0,j|0);n=x;x=0;if(!(n&1)){k[p>>2]=k[c>>2];x=0;k[o>>2]=k[p>>2];g=na(8,b|0,o|0,s|0,s+24|0,a|0,e|0,1)|0;e=x;x=0;if(e&1){g=Wa()|0;en(s+12|0);en(s);break}else{i[f>>0]=(g|0)==(s|0)&1;g=k[b>>2]|0;en(s+12|0);en(s);break a}}}else h=s;g=Wa()|0;j=M;if((s|0)!=(h|0))do{h=h+-12|0;en(h)}while((h|0)!=(s|0))}else{s=Wa()|0;zm(g)|0;g=s}while(0);fb(g|0)}while(0);r=q;return g|0}function jp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Tu(a,i,h,d,e,f)|0;r=g;return a|0}function kp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Uu(a,i,h,d,e,f)|0;r=g;return a|0}function lp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Vu(a,i,h,d,e,f)|0;r=g;return a|0}function mp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Wu(a,i,h,d,e,f)|0;r=g;return a|0}function np(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Xu(a,i,h,d,e,f)|0;r=g;return a|0}function op(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Yu(a,i,h,d,e,f)|0;r=g;return a|0}function pp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=Zu(a,i,h,d,e,f)|0;r=g;return a|0}function qp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=_u(a,i,h,d,e,f)|0;r=g;return a|0}function rp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;g=r;r=r+16|0;h=g+12|0;i=g+8|0;l=g+4|0;j=g;k[l>>2]=k[b>>2];k[j>>2]=k[c>>2];k[i>>2]=k[l>>2];k[h>>2]=k[j>>2];a=$u(a,i,h,d,e,f)|0;r=g;return a|0}function sp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=r;r=r+320|0;v=B;p=B+208|0;D=B+32|0;a=B+28|0;C=B+16|0;u=B+12|0;s=B+48|0;t=B+8|0;q=B+4|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;x=0;d=ta(68,d|0)|0;o=x;x=0;do if(o&1)a=Wa()|0;else{k[a>>2]=d;x=0;a=Aa(37,a|0,44212)|0;o=x;x=0;if(!(o&1)?(x=0,Ea(k[(k[a>>2]|0)+48>>2]|0,a|0,57498,57524,p|0)|0,o=x,x=0,!(o&1)):0){zm(d)|0;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;if(!(i[C>>0]&1))a=10;else a=(k[C>>2]&-2)+-1|0;x=0;Fa(8,C|0,a|0,0);o=x;x=0;a:do if(!(o&1)){n=C+8|0;o=C+1|0;a=(i[C>>0]&1)==0?o:k[n>>2]|0;k[u>>2]=a;k[t>>2]=s;k[q>>2]=0;m=C+4|0;g=k[b>>2]|0;b:while(1){if(g){d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){E=30;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;d=0;h=1}else{d=g;h=0}}else{d=0;h=1}j=k[c>>2]|0;do if(j){g=k[j+12>>2]|0;if((g|0)==(k[j+16>>2]|0)){x=0;g=ta(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1){E=30;break b}}else g=k[g>>2]|0;if((g|0)!=-1)if(h){g=j;break}else{g=j;break b}else{k[c>>2]=0;E=20;break}}else E=20;while(0);if((E|0)==20){E=0;if(h){g=0;break}else g=0}h=i[C>>0]|0;h=(h&1)==0?(h&255)>>>1:k[m>>2]|0;if((k[u>>2]|0)==(a+h|0)){x=0;Fa(8,C|0,h<<1|0,0);l=x;x=0;if(l&1){E=30;break}if(!(i[C>>0]&1))a=10;else a=(k[C>>2]&-2)+-1|0;x=0;Fa(8,C|0,a|0,0);l=x;x=0;if(l&1){E=30;break}a=(i[C>>0]&1)==0?o:k[n>>2]|0;k[u>>2]=a+h}j=d+12|0;h=k[j>>2]|0;l=d+16|0;if((h|0)==(k[l>>2]|0)){x=0;h=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;F=x;x=0;if(F&1){E=30;break}}else h=k[h>>2]|0;if(tp(h,16,a,u,q,0,D,s,t,p)|0)break;g=k[j>>2]|0;if((g|0)==(k[l>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;F=x;x=0;if(F&1){E=30;break}else{g=d;continue}}else{k[j>>2]=g+4;g=d;continue}}if((E|0)==30){a=Wa()|0;break}x=0;Fa(8,C|0,(k[u>>2]|0)-a|0,0);F=x;x=0;if((!(F&1)?(w=i[C>>0]|0,y=k[n>>2]|0,x=0,z=Da(3)|0,F=x,x=0,!(F&1)):0)?(x=0,k[v>>2]=f,A=Ea(16,((w&1)==0?o:y)|0,z|0,58882,v|0)|0,F=x,x=0,!(F&1)):0){if((A|0)!=1)k[e>>2]=4;if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;F=x;x=0;if(F&1){E=31;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;F=x;x=0;if(F&1){E=31;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{E=59;break}else{k[c>>2]=0;E=57;break}}else E=57;while(0);if((E|0)==57?d:0)E=59;if((E|0)==59)k[e>>2]=k[e>>2]|2;F=k[b>>2]|0;Sm(C);Sm(D);r=B;return F|0}else E=31}else E=31;while(0);if((E|0)==31)a=Wa()|0;Sm(C);break}a=Wa()|0;zm(d)|0}while(0);Sm(D);fb(a|0);return 0}function tp(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0;o=k[d>>2]|0;p=(o|0)==(c|0);do if(p){m=(k[l+96>>2]|0)==(a|0);if(!m?(k[l+100>>2]|0)!=(a|0):0){n=5;break}k[d>>2]=c+1;i[c>>0]=m?43:45;k[e>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=i[g>>0]|0;if((a|0)==(f|0)?(((n&1)==0?(n&255)>>>1:k[g+4>>2]|0)|0)!=0:0){m=k[j>>2]|0;if((m-h|0)>=160){m=0;break}b=k[e>>2]|0;k[j>>2]=m+4;k[m>>2]=b;k[e>>2]=0;m=0;break}g=l+104|0;m=l;while(1){if((k[m>>2]|0)==(a|0))break;m=m+4|0;if((m|0)==(g|0)){m=g;break}}m=m-l|0;g=m>>2;if((m|0)>92)m=-1;else{switch(b|0){case 10:case 8:{if((g|0)>=(b|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-c|0)>=3){m=-1;break a}if((i[o+-1>>0]|0)!=48){m=-1;break a}k[e>>2]=0;m=i[57498+g>>0]|0;k[d>>2]=o+1;i[o>>0]=m;m=0;break a}break}default:{}}m=i[57498+g>>0]|0;k[d>>2]=o+1;i[o>>0]=m;k[e>>2]=(k[e>>2]|0)+1;m=0}}while(0);return m|0}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+16|0;h=j;b=tn(b)|0;k[h>>2]=b;x=0;e=Aa(37,h|0,44220)|0;l=x;x=0;if((((!(l&1)?(x=0,Ea(k[(k[e>>2]|0)+32>>2]|0,e|0,57498,57524,c|0)|0,l=x,x=0,!(l&1)):0)?(x=0,g=Aa(37,h|0,44360)|0,l=x,x=0,!(l&1)):0)?(x=0,f=ta(k[(k[g>>2]|0)+16>>2]|0,g|0)|0,l=x,x=0,!(l&1)):0)?(i[d>>0]=f,x=0,ra(k[(k[g>>2]|0)+20>>2]|0,a|0,g|0),l=x,x=0,!(l&1)):0){zm(b)|0;r=j;return}l=Wa()|0;zm(b)|0;fb(l|0)}function vp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+16|0;l=m;b=tn(b)|0;k[l>>2]=b;x=0;f=Aa(37,l|0,44220)|0;n=x;x=0;if(((((!(n&1)?(x=0,Ea(k[(k[f>>2]|0)+32>>2]|0,f|0,57498,57530,c|0)|0,n=x,x=0,!(n&1)):0)?(x=0,j=Aa(37,l|0,44360)|0,n=x,x=0,!(n&1)):0)?(x=0,g=ta(k[(k[j>>2]|0)+12>>2]|0,j|0)|0,n=x,x=0,!(n&1)):0)?(i[d>>0]=g,x=0,h=ta(k[(k[j>>2]|0)+16>>2]|0,j|0)|0,n=x,x=0,!(n&1)):0)?(i[e>>0]=h,x=0,ra(k[(k[j>>2]|0)+20>>2]|0,a|0,j|0),n=x,x=0,!(n&1)):0){zm(b)|0;r=m;return}n=Wa()|0;zm(b)|0;fb(n|0)}function wp(a,b,c,d,e,f,g,h,j,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if(a<<24>>24==f<<24>>24)if(i[b>>0]|0){i[b>>0]=0;c=k[e>>2]|0;k[e>>2]=c+1;i[c>>0]=46;c=i[h>>0]|0;if((((c&1)==0?(c&255)>>>1:k[h+4>>2]|0)|0)!=0?(p=k[m>>2]|0,(p-j|0)<160):0){j=k[n>>2]|0;k[m>>2]=p+4;k[p>>2]=j;p=0}else p=0}else p=-1;else{if(a<<24>>24==g<<24>>24?(g=i[h>>0]|0,(((g&1)==0?(g&255)>>>1:k[h+4>>2]|0)|0)!=0):0){if(!(i[b>>0]|0)){p=-1;break}p=k[m>>2]|0;if((p-j|0)>=160){p=0;break}j=k[n>>2]|0;k[m>>2]=p+4;k[p>>2]=j;k[n>>2]=0;p=0;break}f=o+32|0;p=o;while(1){if((i[p>>0]|0)==a<<24>>24)break;p=p+1|0;if((p|0)==(f|0)){p=f;break}}f=p-o|0;if((f|0)>31)p=-1;else{g=i[57498+f>>0]|0;switch(f|0){case 24:case 25:{p=k[e>>2]|0;if((p|0)!=(d|0)?(l[p+-1>>0]&95|0)!=(l[c>>0]&127|0):0){p=-1;break a}k[e>>2]=p+1;i[p>>0]=g;p=0;break a}case 23:case 22:{i[c>>0]=80;p=k[e>>2]|0;k[e>>2]=p+1;i[p>>0]=g;p=0;break a}default:{p=g&95;if((((p|0)==(i[c>>0]|0)?(i[c>>0]=p|128,(i[b>>0]|0)!=0):0)?(i[b>>0]=0,c=i[h>>0]|0,(((c&1)==0?(c&255)>>>1:k[h+4>>2]|0)|0)!=0):0)?(q=k[m>>2]|0,(q-j|0)<160):0){j=k[n>>2]|0;k[m>>2]=q+4;k[q>>2]=j}m=k[e>>2]|0;k[e>>2]=m+1;i[m>>0]=g;if((f|0)>21){p=0;break a}k[n>>2]=(k[n>>2]|0)+1;p=0;break a}}}}while(0);return p|0}function xp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+16|0;h=i;b=tn(b)|0;k[h>>2]=b;x=0;e=Aa(37,h|0,44212)|0;j=x;x=0;if((((!(j&1)?(x=0,Ea(k[(k[e>>2]|0)+48>>2]|0,e|0,57498,57524,c|0)|0,j=x,x=0,!(j&1)):0)?(x=0,g=Aa(37,h|0,44368)|0,j=x,x=0,!(j&1)):0)?(x=0,f=ta(k[(k[g>>2]|0)+16>>2]|0,g|0)|0,j=x,x=0,!(j&1)):0)?(k[d>>2]=f,x=0,ra(k[(k[g>>2]|0)+20>>2]|0,a|0,g|0),j=x,x=0,!(j&1)):0){zm(b)|0;r=i;return}j=Wa()|0;zm(b)|0;fb(j|0)}function yp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+16|0;j=l;b=tn(b)|0;k[j>>2]=b;x=0;f=Aa(37,j|0,44212)|0;m=x;x=0;if(((((!(m&1)?(x=0,Ea(k[(k[f>>2]|0)+48>>2]|0,f|0,57498,57530,c|0)|0,m=x,x=0,!(m&1)):0)?(x=0,i=Aa(37,j|0,44368)|0,m=x,x=0,!(m&1)):0)?(x=0,g=ta(k[(k[i>>2]|0)+12>>2]|0,i|0)|0,m=x,x=0,!(m&1)):0)?(k[d>>2]=g,x=0,h=ta(k[(k[i>>2]|0)+16>>2]|0,i|0)|0,m=x,x=0,!(m&1)):0)?(k[e>>2]=h,x=0,ra(k[(k[i>>2]|0)+20>>2]|0,a|0,i|0),m=x,x=0,!(m&1)):0){zm(b)|0;r=l;return}m=Wa()|0;zm(b)|0;fb(m|0)}function zp(a,b,c,d,e,f,g,h,j,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if((a|0)==(f|0))if(i[b>>0]|0){i[b>>0]=0;c=k[e>>2]|0;k[e>>2]=c+1;i[c>>0]=46;c=i[h>>0]|0;if((((c&1)==0?(c&255)>>>1:k[h+4>>2]|0)|0)!=0?(p=k[m>>2]|0,(p-j|0)<160):0){j=k[n>>2]|0;k[m>>2]=p+4;k[p>>2]=j;p=0}else p=0}else p=-1;else{if((a|0)==(g|0)?(g=i[h>>0]|0,(((g&1)==0?(g&255)>>>1:k[h+4>>2]|0)|0)!=0):0){if(!(i[b>>0]|0)){p=-1;break}p=k[m>>2]|0;if((p-j|0)>=160){p=0;break}j=k[n>>2]|0;k[m>>2]=p+4;k[p>>2]=j;k[n>>2]=0;p=0;break}f=o+128|0;p=o;while(1){if((k[p>>2]|0)==(a|0))break;p=p+4|0;if((p|0)==(f|0)){p=f;break}}f=p-o|0;p=f>>2;if((f|0)<=124){g=i[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=k[e>>2]|0;if((p|0)!=(d|0)?(l[p+-1>>0]&95|0)!=(l[c>>0]&127|0):0){p=-1;break a}k[e>>2]=p+1;i[p>>0]=g;p=0;break a}case 23:case 22:{i[c>>0]=80;break}default:{p=g&95;if((((p|0)==(i[c>>0]|0)?(i[c>>0]=p|128,(i[b>>0]|0)!=0):0)?(i[b>>0]=0,c=i[h>>0]|0,(((c&1)==0?(c&255)>>>1:k[h+4>>2]|0)|0)!=0):0)?(q=k[m>>2]|0,(q-j|0)<160):0){j=k[n>>2]|0;k[m>>2]=q+4;k[q>>2]=j}}}m=k[e>>2]|0;k[e>>2]=m+1;i[m>>0]=g;if((f|0)>84)p=0;else{k[n>>2]=(k[n>>2]|0)+1;p=0}}else p=-1}while(0);return p|0}function Ap(a){a=a|0;return}function Bp(a){a=a|0;mj(a);return}function Cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m;a:do if(!(k[c+4>>2]&1)){l=k[(k[a>>2]|0)+24>>2]|0;k[g>>2]=k[b>>2];k[f>>2]=k[g>>2];f=Wb[l&31](a,f,c,d,e&1)|0}else{f=tn(c)|0;k[h>>2]=f;x=0;g=Aa(37,h|0,44360)|0;j=x;x=0;b:do if(j&1){m=Wa()|0;zm(f)|0;f=m}else{zm(f)|0;f=k[g>>2]|0;if(e)Mb[k[f+24>>2]&127](l,g);else Mb[k[f+28>>2]&127](l,g);a=i[l>>0]|0;j=(a&1)==0;f=l+1|0;e=l+8|0;h=j?f:l+1|0;f=j?f:k[l+8>>2]|0;j=l+4|0;c=(a&1)==0;c:do if((f|0)!=((c?h:k[e>>2]|0)+(c?(a&255)>>>1:k[j>>2]|0)|0)){d:while(1){g=i[f>>0]|0;d=k[b>>2]|0;do if(d){c=d+24|0;a=k[c>>2]|0;if((a|0)!=(k[d+28>>2]|0)){k[c>>2]=a+1;i[a>>0]=g;break}x=0;g=Aa(k[(k[d>>2]|0)+52>>2]|0,d|0,g&255|0)|0;a=x;x=0;if(a&1)break d;if((g|0)==-1)k[b>>2]=0}while(0);f=f+1|0;a=i[l>>0]|0;c=(a&1)==0;if((f|0)==((c?h:k[e>>2]|0)+(c?(a&255)>>>1:k[j>>2]|0)|0))break c}f=Wa()|0;Sm(l);break b}while(0);f=k[b>>2]|0;Sm(l);break a}while(0);fb(f|0)}while(0);r=m;return f|0}function Dp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+64|0;f=m;o=m+56|0;p=m+44|0;h=m+20|0;l=m+16|0;j=m+12|0;n=m+8|0;g=m+4|0;i[o>>0]=i[58887]|0;i[o+1>>0]=i[58888]|0;i[o+2>>0]=i[58889]|0;i[o+3>>0]=i[58890]|0;i[o+4>>0]=i[58891]|0;i[o+5>>0]=i[58892]|0;Ep(o+1|0,58893,1,k[c+4>>2]|0);a=fp()|0;k[f>>2]=e;e=p+(av(p,12,a,o,f)|0)|0;o=Fp(p,e,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(1,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=Wa()|0;zm(a)|0;fb(p|0)}else{zm(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=md(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Ep(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(d&2048){i[a>>0]=43;a=a+1|0}if(d&512){i[a>>0]=35;a=a+1|0}e=i[b>>0]|0;if(e<<24>>24){f=b;while(1){f=f+1|0;b=a+1|0;i[a>>0]=e;e=i[f>>0]|0;if(!(e<<24>>24)){a=b;break}else a=b}}a:do switch(d&74|0){case 64:{i[a>>0]=111;break}case 8:if(!(d&16384)){i[a>>0]=120;break a}else{i[a>>0]=88;break a}default:if(c){i[a>>0]=100;break a}else{i[a>>0]=117;break a}}while(0);return}function Fp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do switch(k[c+4>>2]&176|0){case 16:{c=i[a>>0]|0;switch(c<<24>>24){case 43:case 45:{a=a+1|0;break a}default:{}}if((b-a|0)>1&c<<24>>24==48){switch(i[a+1>>0]|0){case 88:case 120:break;default:{d=7;break a}}a=a+2|0}else d=7;break}case 32:{a=b;break}default:d=7}while(0);return a|0}function Gp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+16|0;v=u;s=Ss(g,44220)|0;l=Ss(g,44360)|0;Mb[k[(k[l>>2]|0)+20>>2]&127](v,l);p=i[v>>0]|0;q=v+4|0;a:do if(!(((p&1)==0?(p&255)>>>1:k[q>>2]|0)|0)){x=0;Ea(k[(k[s>>2]|0)+32>>2]|0,s|0,a|0,c|0,d|0)|0;t=x;x=0;if(t&1)t=5;else{g=d+(c-a)|0;k[f>>2]=g;t=29}}else{k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Aa(k[(k[s>>2]|0)+28>>2]|0,s|0,g|0)|0;p=x;x=0;if(p&1){t=5;break a}j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=g;j=a+1|0;break}default:j=a}b:do if((c-j|0)>1?(i[j>>0]|0)==48:0){g=j+1|0;switch(i[g>>0]|0){case 88:case 120:break;default:break b}x=0;h=Aa(k[(k[s>>2]|0)+28>>2]|0,s|0,48)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+1;i[p>>0]=h;x=0;g=Aa(k[(k[s>>2]|0)+28>>2]|0,s|0,i[g>>0]|0)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+1;i[p>>0]=g;j=j+2|0}while(0);if((j|0)!=(c|0)?(m=c+-1|0,j>>>0>>0):0){h=j;g=m;do{p=i[h>>0]|0;i[h>>0]=i[g>>0]|0;i[g>>0]=p;h=h+1|0;g=g+-1|0}while(h>>>0>>0)}x=0;m=ta(k[(k[l>>2]|0)+16>>2]|0,l|0)|0;p=x;x=0;if(!(p&1)){n=v+8|0;o=v+1|0;c:do if(j>>>0>>0){g=0;h=0;p=j;while(1){l=i[((i[v>>0]&1)==0?o:k[n>>2]|0)+h>>0]|0;if(l<<24>>24!=0&(g|0)==(l<<24>>24|0)){g=k[f>>2]|0;k[f>>2]=g+1;i[g>>0]=m;g=i[v>>0]|0;l=0;h=(h>>>0<(((g&1)==0?(g&255)>>>1:k[q>>2]|0)+-1|0)>>>0&1)+h|0}else l=g;x=0;g=Aa(k[(k[s>>2]|0)+28>>2]|0,s|0,i[p>>0]|0)|0;w=x;x=0;if(w&1)break;w=k[f>>2]|0;k[f>>2]=w+1;i[w>>0]=g;p=p+1|0;if(p>>>0>=c>>>0)break c;else g=l+1|0}g=Wa()|0;break a}while(0);h=a;g=d+(j-h)|0;a=k[f>>2]|0;if((g|0)==(a|0)){a=h;t=29}else{a=a+-1|0;if(g>>>0>>0)do{w=i[g>>0]|0;i[g>>0]=i[a>>0]|0;i[a>>0]=w;g=g+1|0;a=a+-1|0}while(g>>>0>>0);a=h;g=k[f>>2]|0;t=29}}else t=5}while(0);if((t|0)==5)g=Wa()|0;else if((t|0)==29){k[e>>2]=(b|0)==(c|0)?g:d+(b-a)|0;Sm(v);r=u;return}Sm(v);fb(g|0)}function Hp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+96|0;g=m+8|0;a=m;o=m+74|0;i=m+32|0;l=m+28|0;j=m+24|0;n=m+20|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;Ep(a+1|0,58895,1,k[c+4>>2]|0);p=fp()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(av(o,22,p,a,g)|0)|0;e=Fp(o,f,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(1,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=Wa()|0;zm(a)|0;fb(q|0)}else{zm(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=md(g,i,p,q,c,d)|0;r=m;return q|0}return 0}function Ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+64|0;f=m;o=m+56|0;p=m+44|0;h=m+20|0;l=m+16|0;j=m+12|0;n=m+8|0;g=m+4|0;i[o>>0]=i[58887]|0;i[o+1>>0]=i[58888]|0;i[o+2>>0]=i[58889]|0;i[o+3>>0]=i[58890]|0;i[o+4>>0]=i[58891]|0;i[o+5>>0]=i[58892]|0;Ep(o+1|0,58893,0,k[c+4>>2]|0);a=fp()|0;k[f>>2]=e;e=p+(av(p,12,a,o,f)|0)|0;o=Fp(p,e,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(1,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=Wa()|0;zm(a)|0;fb(p|0)}else{zm(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=md(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Jp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+112|0;g=m+8|0;a=m;o=m+75|0;i=m+32|0;l=m+28|0;j=m+24|0;n=m+20|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;Ep(a+1|0,58895,0,k[c+4>>2]|0);p=fp()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(av(o,23,p,a,g)|0)|0;e=Fp(o,f,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(1,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=Wa()|0;zm(a)|0;fb(q|0)}else{zm(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=md(g,i,p,q,c,d)|0;r=m;return q|0}return 0}function Kp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+176|0;t=z+84|0;n=z+48|0;m=z+32|0;i=z+24|0;f=z+8|0;l=z;q=z+88|0;s=z+80|0;h=z+118|0;y=z+76|0;w=z+72|0;u=z+68|0;v=z+64|0;j=l;k[j>>2]=37;k[j+4>>2]=0;j=Lp(l+1|0,58898,k[c+4>>2]|0)|0;k[s>>2]=q;a=fp()|0;if(j){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;f=av(q,30,a,l,f)|0}else{p[i>>3]=e;f=av(q,30,a,l,i)|0}a:do if((f|0)>29){x=0;a=Da(3)|0;f=x;x=0;f=f&1;if(j){if(!f?(x=0,k[m>>2]=k[c+8>>2],p[m+8>>3]=e,g=Ea(17,s|0,a|0,l|0,m|0)|0,o=x,x=0,!(o&1)):0)A=12}else if(!f?(x=0,k[n>>2]=k[c+8>>2],p[n+8>>3]=e,o=Ea(17,s|0,a|0,l|0,n|0)|0,n=x,x=0,!(n&1)):0){g=o;A=12}do if((A|0)==12){a=k[s>>2]|0;if(!a){x=0;Ga(6);o=x;x=0;if(o&1)break;f=k[s>>2]|0}else f=a;a=f;l=f;A=16;break a}while(0);a=Wa()|0}else{a=k[s>>2]|0;l=0;g=f;A=16}while(0);if((A|0)==16){i=a+g|0;j=Fp(a,i,c)|0;do if((a|0)==(q|0)){a=q;f=0;A=22}else{g=Pl(g<<1)|0;if(!g){x=0;Ga(6);A=x;x=0;if(A&1){f=0;A=20;break}a=k[s>>2]|0}f=g;h=g;A=22}while(0);do if((A|0)==22){x=0;g=ta(68,c|0)|0;s=x;x=0;if(!(s&1)){k[u>>2]=g;x=0;ya(2,a|0,j|0,i|0,h|0,y|0,w|0,u|0);u=x;x=0;if(u&1){a=Wa()|0;zm(g)|0;break}zm(g)|0;k[v>>2]=k[b>>2];A=k[y>>2]|0;a=k[w>>2]|0;x=0;k[t>>2]=k[v>>2];a=sa(39,t|0,h|0,A|0,a|0,c|0,d|0)|0;A=x;x=0;if(!(A&1)){k[b>>2]=a;if(f)Ql(f);if(l)Ql(l);r=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Wa()|0;if(f)Ql(f);if(l)Ql(l)}fb(a|0);return 0}function Lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;if(c&2048){i[a>>0]=43;a=a+1|0}if(c&1024){i[a>>0]=35;a=a+1|0}g=c&260;e=c>>>14;h=(g|0)==260;if(h)f=0;else{i[a>>0]=46;i[a+1>>0]=42;a=a+2|0;f=1}c=i[b>>0]|0;if(c<<24>>24){d=a;while(1){b=b+1|0;a=d+1|0;i[d>>0]=c;c=i[b>>0]|0;if(!(c<<24>>24))break;else d=a}}a:do switch(g|0){case 4:if(!(e&1)){i[a>>0]=102;break a}else{i[a>>0]=70;break a}case 256:if(!(e&1)){i[a>>0]=101;break a}else{i[a>>0]=69;break a}default:{c=(e&1|0)!=0;if(h)if(c){i[a>>0]=65;break a}else{i[a>>0]=97;break a}else if(c){i[a>>0]=71;break a}else{i[a>>0]=103;break a}}}while(0);return f|0}function Mp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;z=r;r=r+16|0;A=z;y=Ss(g,44220)|0;v=Ss(g,44360)|0;Mb[k[(k[v>>2]|0)+20>>2]&127](A,v);k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Aa(k[(k[y>>2]|0)+28>>2]|0,y|0,g|0)|0;w=x;x=0;if(w&1)u=8;else{m=k[f>>2]|0;k[f>>2]=m+1;i[m>>0]=g;m=a+1|0;u=10}break}default:{m=a;u=10}}a:do if((u|0)==10){w=c;b:do if((w-m|0)>1?(i[m>>0]|0)==48:0){j=m+1|0;switch(i[j>>0]|0){case 88:case 120:break;default:{u=11;break b}}x=0;g=Aa(k[(k[y>>2]|0)+28>>2]|0,y|0,48)|0;t=x;x=0;if(t&1){u=8;break a}t=k[f>>2]|0;k[f>>2]=t+1;i[t>>0]=g;m=m+2|0;x=0;g=Aa(k[(k[y>>2]|0)+28>>2]|0,y|0,i[j>>0]|0)|0;t=x;x=0;if(t&1){u=8;break a}t=k[f>>2]|0;k[f>>2]=t+1;i[t>>0]=g;if(m>>>0>>0){g=m;while(1){j=i[g>>0]|0;x=0;l=Da(3)|0;t=x;x=0;if(t&1)break;x=0;j=Aa(39,j<<24>>24|0,l|0)|0;t=x;x=0;if(t&1)break;if(!j){t=m;break b}g=g+1|0;if(g>>>0>=c>>>0){t=m;break b}}g=Wa()|0;break a}else{t=m;g=m}}else u=11;while(0);c:do if((u|0)==11)if(m>>>0>>0){g=m;while(1){j=i[g>>0]|0;x=0;l=Da(3)|0;t=x;x=0;if(t&1)break;x=0;j=Aa(40,j<<24>>24|0,l|0)|0;t=x;x=0;if(t&1)break;if(!j){t=m;break c}g=g+1|0;if(g>>>0>=c>>>0){t=m;break c}}g=Wa()|0;break a}else{t=m;g=m}while(0);q=i[A>>0]|0;s=A+4|0;if(((q&1)==0?(q&255)>>>1:k[s>>2]|0)|0){if((t|0)!=(g|0)?(n=g+-1|0,t>>>0>>0):0){l=t;j=n;do{q=i[l>>0]|0;i[l>>0]=i[j>>0]|0;i[j>>0]=q;l=l+1|0;j=j+-1|0}while(l>>>0>>0)}x=0;n=ta(k[(k[v>>2]|0)+16>>2]|0,v|0)|0;q=x;x=0;if(q&1){u=8;break}o=A+8|0;p=A+1|0;d:do if(t>>>0>>0){j=0;l=0;q=t;while(1){m=i[((i[A>>0]&1)==0?p:k[o>>2]|0)+l>>0]|0;if(m<<24>>24>0&(j|0)==(m<<24>>24|0)){j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=n;j=i[A>>0]|0;m=0;l=(l>>>0<(((j&1)==0?(j&255)>>>1:k[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=j;x=0;j=Aa(k[(k[y>>2]|0)+28>>2]|0,y|0,i[q>>0]|0)|0;B=x;x=0;if(B&1)break;B=k[f>>2]|0;k[f>>2]=B+1;i[B>>0]=j;q=q+1|0;if(q>>>0>=g>>>0)break d;else j=m+1|0}g=Wa()|0;break a}while(0);j=d+(t-a)|0;l=k[f>>2]|0;if((j|0)!=(l|0)?(h=l+-1|0,j>>>0>>0):0){do{B=i[j>>0]|0;i[j>>0]=i[h>>0]|0;i[h>>0]=B;j=j+1|0;h=h+-1|0}while(j>>>0>>0);j=y}else j=y}else{x=0;Ea(k[(k[y>>2]|0)+32>>2]|0,y|0,t|0,g|0,k[f>>2]|0)|0;B=x;x=0;if(B&1){u=8;break}k[f>>2]=(k[f>>2]|0)+(g-t);j=y}e:do if(g>>>0>>0){while(1){h=i[g>>0]|0;if(h<<24>>24==46)break;x=0;h=Aa(k[(k[j>>2]|0)+28>>2]|0,y|0,h|0)|0;B=x;x=0;if(B&1){u=4;break}B=k[f>>2]|0;k[f>>2]=B+1;i[B>>0]=h;g=g+1|0;if(g>>>0>=c>>>0)break e}if((u|0)==4){g=Wa()|0;break a}x=0;h=ta(k[(k[v>>2]|0)+12>>2]|0,v|0)|0;B=x;x=0;if(B&1){u=8;break a}B=k[f>>2]|0;k[f>>2]=B+1;i[B>>0]=h;g=g+1|0}while(0);x=0;Ea(k[(k[y>>2]|0)+32>>2]|0,y|0,g|0,c|0,k[f>>2]|0)|0;B=x;x=0;if(B&1)u=8;else{B=(k[f>>2]|0)+(w-g)|0;k[f>>2]=B;k[e>>2]=(b|0)==(c|0)?B:d+(b-a)|0;Sm(A);r=z;return}}while(0);if((u|0)==8)g=Wa()|0;Sm(A);fb(g|0)}function Np(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+176|0;t=z+76|0;n=z+48|0;m=z+32|0;i=z+24|0;f=z+8|0;l=z;q=z+80|0;s=z+72|0;h=z+110|0;y=z+68|0;w=z+64|0;u=z+60|0;v=z+56|0;j=l;k[j>>2]=37;k[j+4>>2]=0;j=Lp(l+1|0,58899,k[c+4>>2]|0)|0;k[s>>2]=q;a=fp()|0;if(j){k[f>>2]=k[c+8>>2];p[f+8>>3]=e;f=av(q,30,a,l,f)|0}else{p[i>>3]=e;f=av(q,30,a,l,i)|0}a:do if((f|0)>29){x=0;a=Da(3)|0;f=x;x=0;f=f&1;if(j){if(!f?(x=0,k[m>>2]=k[c+8>>2],p[m+8>>3]=e,g=Ea(17,s|0,a|0,l|0,m|0)|0,o=x,x=0,!(o&1)):0)A=12}else if(!f?(x=0,p[n>>3]=e,o=Ea(17,s|0,a|0,l|0,n|0)|0,n=x,x=0,!(n&1)):0){g=o;A=12}do if((A|0)==12){a=k[s>>2]|0;if(!a){x=0;Ga(6);o=x;x=0;if(o&1)break;f=k[s>>2]|0}else f=a;a=f;l=f;A=16;break a}while(0);a=Wa()|0}else{a=k[s>>2]|0;l=0;g=f;A=16}while(0);if((A|0)==16){i=a+g|0;j=Fp(a,i,c)|0;do if((a|0)==(q|0)){a=q;f=0;A=22}else{g=Pl(g<<1)|0;if(!g){x=0;Ga(6);A=x;x=0;if(A&1){f=0;A=20;break}a=k[s>>2]|0}f=g;h=g;A=22}while(0);do if((A|0)==22){x=0;g=ta(68,c|0)|0;s=x;x=0;if(!(s&1)){k[u>>2]=g;x=0;ya(2,a|0,j|0,i|0,h|0,y|0,w|0,u|0);u=x;x=0;if(u&1){a=Wa()|0;zm(g)|0;break}zm(g)|0;k[v>>2]=k[b>>2];A=k[y>>2]|0;a=k[w>>2]|0;x=0;k[t>>2]=k[v>>2];a=sa(39,t|0,h|0,A|0,a|0,c|0,d|0)|0;A=x;x=0;if(!(A&1)){k[b>>2]=a;if(f)Ql(f);if(l)Ql(l);r=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Wa()|0;if(f)Ql(f);if(l)Ql(l)}fb(a|0);return 0}function Op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+80|0;j=o;a=o+70|0;m=o+12|0;n=o+32|0;h=o+8|0;l=o+4|0;i[a>>0]=i[58901]|0;i[a+1>>0]=i[58902]|0;i[a+2>>0]=i[58903]|0;i[a+3>>0]=i[58904]|0;i[a+4>>0]=i[58905]|0;i[a+5>>0]=i[58906]|0;f=fp()|0;k[j>>2]=e;a=av(m,20,f,a,j)|0;e=m+a|0;f=Fp(m,e,c)|0;g=tn(c)|0;k[h>>2]=g;x=0;h=Aa(37,h|0,44220)|0;p=x;x=0;if(p&1){p=Wa()|0;zm(g)|0;fb(p|0)}else{zm(g)|0;Zb[k[(k[h>>2]|0)+32>>2]&31](h,m,e,n)|0;p=n+a|0;k[l>>2]=k[b>>2];k[j>>2]=k[l>>2];p=md(j,n,(f|0)==(e|0)?p:n+(f-m)|0,p,c,d)|0;r=o;return p|0}return 0}function Pp(a){a=a|0;return}function Qp(a){a=a|0;mj(a);return}function Rp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;a:do if(!(k[c+4>>2]&1)){j=k[(k[a>>2]|0)+24>>2]|0;k[g>>2]=k[b>>2];k[f>>2]=k[g>>2];f=Wb[j&31](a,f,c,d,e&1)|0}else{f=tn(c)|0;k[h>>2]=f;x=0;g=Aa(37,h|0,44368)|0;h=x;x=0;b:do if(h&1){l=Wa()|0;zm(f)|0;f=l}else{zm(f)|0;f=k[g>>2]|0;if(e)Mb[k[f+24>>2]&127](j,g);else Mb[k[f+28>>2]&127](j,g);a=i[j>>0]|0;c=(a&1)==0;f=j+4|0;e=j+8|0;h=c?f:j+4|0;f=c?f:k[j+8>>2]|0;c=(a&1)==0;c:do if((f|0)!=((c?h:k[e>>2]|0)+((c?(a&255)>>>1:k[h>>2]|0)<<2)|0)){while(1){g=k[f>>2]|0;d=k[b>>2]|0;if(d){c=d+24|0;a=k[c>>2]|0;if((a|0)==(k[d+28>>2]|0)){x=0;g=Aa(k[(k[d>>2]|0)+52>>2]|0,d|0,g|0)|0;a=x;x=0;if(a&1)break}else{k[c>>2]=a+4;k[a>>2]=g}if((g|0)==-1)k[b>>2]=0}f=f+4|0;a=i[j>>0]|0;c=(a&1)==0;if((f|0)==((c?h:k[e>>2]|0)+((c?(a&255)>>>1:k[h>>2]|0)<<2)|0))break c}f=Wa()|0;en(j);break b}while(0);f=k[b>>2]|0;en(j);break a}while(0);fb(f|0)}while(0);r=l;return f|0}function Sp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;m=r;r=r+128|0;f=m;o=m+116|0;p=m+104|0;h=m+20|0;l=m+16|0;j=m+12|0;n=m+8|0;g=m+4|0;i[o>>0]=i[58887]|0;i[o+1>>0]=i[58888]|0;i[o+2>>0]=i[58889]|0;i[o+3>>0]=i[58890]|0;i[o+4>>0]=i[58891]|0;i[o+5>>0]=i[58892]|0;Ep(o+1|0,58893,1,k[c+4>>2]|0);a=fp()|0;k[f>>2]=e;e=p+(av(p,12,a,o,f)|0)|0;o=Fp(p,e,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(3,p|0,o|0,e|0,h|0,l|0,j|0,n|0);e=x;x=0;if(e&1){p=Wa()|0;zm(a)|0;fb(p|0)}else{zm(a)|0;k[g>>2]=k[b>>2];o=k[l>>2]|0;p=k[j>>2]|0;k[f>>2]=k[g>>2];p=cv(f,h,o,p,c,d)|0;r=m;return p|0}return 0}function Tp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+16|0;v=u;s=Ss(g,44212)|0;l=Ss(g,44368)|0;Mb[k[(k[l>>2]|0)+20>>2]&127](v,l);p=i[v>>0]|0;q=v+4|0;a:do if(!(((p&1)==0?(p&255)>>>1:k[q>>2]|0)|0)){x=0;Ea(k[(k[s>>2]|0)+48>>2]|0,s|0,a|0,c|0,d|0)|0;t=x;x=0;if(t&1)t=5;else{g=d+(c-a<<2)|0;k[f>>2]=g;t=28}}else{k[f>>2]=d;g=i[a>>0]|0;switch(g<<24>>24){case 43:case 45:{x=0;g=Aa(k[(k[s>>2]|0)+44>>2]|0,s|0,g|0)|0;p=x;x=0;if(p&1){t=5;break a}j=k[f>>2]|0;k[f>>2]=j+4;k[j>>2]=g;j=a+1|0;break}default:j=a}b:do if((c-j|0)>1?(i[j>>0]|0)==48:0){g=j+1|0;switch(i[g>>0]|0){case 88:case 120:break;default:{p=j;break b}}x=0;h=Aa(k[(k[s>>2]|0)+44>>2]|0,s|0,48)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+4;k[p>>2]=h;x=0;g=Aa(k[(k[s>>2]|0)+44>>2]|0,s|0,i[g>>0]|0)|0;p=x;x=0;if(p&1){t=5;break a}p=k[f>>2]|0;k[f>>2]=p+4;k[p>>2]=g;p=j+2|0}else p=j;while(0);if((p|0)!=(c|0)?(m=c+-1|0,p>>>0>>0):0){h=p;g=m;do{o=i[h>>0]|0;i[h>>0]=i[g>>0]|0;i[g>>0]=o;h=h+1|0;g=g+-1|0}while(h>>>0>>0)}x=0;l=ta(k[(k[l>>2]|0)+16>>2]|0,l|0)|0;o=x;x=0;if(!(o&1)){m=v+8|0;n=v+1|0;c:do if(p>>>0>>0){g=0;h=0;o=p;while(1){j=i[((i[v>>0]&1)==0?n:k[m>>2]|0)+h>>0]|0;if(j<<24>>24!=0&(g|0)==(j<<24>>24|0)){g=k[f>>2]|0;k[f>>2]=g+4;k[g>>2]=l;g=i[v>>0]|0;j=0;h=(h>>>0<(((g&1)==0?(g&255)>>>1:k[q>>2]|0)+-1|0)>>>0&1)+h|0}else j=g;x=0;g=Aa(k[(k[s>>2]|0)+44>>2]|0,s|0,i[o>>0]|0)|0;w=x;x=0;if(w&1)break;w=k[f>>2]|0;k[f>>2]=w+4;k[w>>2]=g;o=o+1|0;if(o>>>0>=c>>>0)break c;else g=j+1|0}g=Wa()|0;break a}while(0);j=a;g=d+(p-j<<2)|0;h=k[f>>2]|0;if((g|0)!=(h|0)){a=h+-4|0;if(g>>>0>>0){do{w=k[g>>2]|0;k[g>>2]=k[a>>2];k[a>>2]=w;g=g+4|0;a=a+-4|0}while(g>>>0>>0);a=j;g=h;t=28}else{a=j;g=h;t=28}}else{a=j;t=28}}else t=5}while(0);if((t|0)==5)g=Wa()|0;else if((t|0)==28){k[e>>2]=(b|0)==(c|0)?g:d+(b-a<<2)|0;Sm(v);r=u;return}Sm(v);fb(g|0)}function Up(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;m=r;r=r+224|0;g=m+8|0;a=m;o=m+196|0;i=m+32|0;l=m+28|0;j=m+24|0;n=m+20|0;h=m+16|0;p=a;k[p>>2]=37;k[p+4>>2]=0;Ep(a+1|0,58895,1,k[c+4>>2]|0);p=fp()|0;q=g;k[q>>2]=e;k[q+4>>2]=f;f=o+(av(o,22,p,a,g)|0)|0;e=Fp(o,f,c)|0;a=tn(c)|0;k[n>>2]=a;x=0;ya(3,o|0,e|0,f|0,i|0,l|0,j|0,n|0);f=x;x=0;if(f&1){q=Wa()|0;zm(a)|0;fb(q|0)}else{zm(a)|0;k[h>>2]=k[b>>2];p=k[l>>2]|0;q=k[j>>2]|0;k[g>>2]=k[h>>2];q=cv(g,i,p,q,c,d)|0;r=m;return q|0}return 0}\nfunction Et(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+16|0;q=t;o=t+8|0;a:do if((c|0)==(d|0))j=d;else{j=c;while(1){if(!(k[j>>2]|0))break a;j=j+4|0;if((j|0)==(d|0)){j=d;break}}}while(0);k[h>>2]=f;k[e>>2]=c;m=g;p=a+8|0;b:do if(!((f|0)==(g|0)|(c|0)==(d|0))){a=f;l=j;c:while(1){v=b;f=k[v+4>>2]|0;j=q;k[j>>2]=k[v>>2];k[j+4>>2]=f;j=Ak(k[p>>2]|0)|0;x=0;f=Ba(21,a|0,e|0,l-c>>2|0,m-a|0,b|0)|0;v=x;x=0;if(v&1){u=9;break}if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){u=8;break}switch(f|0){case 0:{n=1;break b}case -1:{j=a;u=14;break c}default:{}}j=(k[h>>2]|0)+f|0;k[h>>2]=j;if((j|0)==(g|0)){u=27;break}if((l|0)==(d|0)){c=k[e>>2]|0;a=j;j=d}else{j=Ak(k[p>>2]|0)|0;x=0;c=va(34,o|0,0,b|0)|0;v=x;x=0;if(v&1){u=35;break}if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){u=34;break}if((c|0)==-1){n=2;break b}if(c>>>0>(m-(k[h>>2]|0)|0)>>>0){n=1;break b}if(c){j=o;while(1){l=i[j>>0]|0;v=k[h>>2]|0;k[h>>2]=v+1;i[v>>0]=l;c=c+-1|0;if(!c)break;else j=j+1|0}}c=(k[e>>2]|0)+4|0;k[e>>2]=c;d:do if((c|0)==(d|0))j=d;else{j=c;while(1){if(!(k[j>>2]|0))break d;j=j+4|0;if((j|0)==(d|0)){j=d;break}}}while(0);a=k[h>>2]|0}if((a|0)==(g|0)|(c|0)==(d|0)){u=47;break b}else l=j}if((u|0)==8){v=Wa(0)|0;oc(v)}else if((u|0)==9){c=Wa()|0;if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){v=Wa(0)|0;oc(v)}fb(c|0)}else if((u|0)==14){k[h>>2]=j;e:do if((c|0)!=(k[e>>2]|0)){while(1){v=k[c>>2]|0;a=Ak(k[p>>2]|0)|0;x=0;j=va(34,j|0,v|0,q|0)|0;v=x;x=0;if(v&1){s=a;break}if((a|0)!=0?(x=0,ta(75,a|0)|0,v=x,x=0,v&1):0){u=18;break}if((j|0)==-1)break e;j=(k[h>>2]|0)+j|0;k[h>>2]=j;c=c+4|0;if((c|0)==(k[e>>2]|0))break e}if((u|0)==18){v=Wa(0)|0;oc(v)}c=Wa()|0;if((s|0)!=0?(x=0,ta(75,s|0)|0,v=x,x=0,v&1):0){v=Wa(0)|0;oc(v)}fb(c|0)}while(0);k[e>>2]=c;n=2;break}else if((u|0)==27){c=k[e>>2]|0;u=47;break}else if((u|0)==34){v=Wa(0)|0;oc(v)}else if((u|0)==35){c=Wa()|0;if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){v=Wa(0)|0;oc(v)}fb(c|0)}}else u=47;while(0);if((u|0)==47)n=(c|0)!=(d|0)&1;r=t;return n|0}function Ft(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+16|0;s=t;a:do if((c|0)==(d|0))j=d;else{j=c;while(1){if(!(i[j>>0]|0))break a;j=j+1|0;if((j|0)==(d|0)){j=d;break}}}while(0);k[h>>2]=f;k[e>>2]=c;n=g;p=a+8|0;b:do if(!((f|0)==(g|0)|(c|0)==(d|0))){a=f;m=j;c:while(1){l=b;j=k[l+4>>2]|0;f=s;k[f>>2]=k[l>>2];k[f+4>>2]=j;f=m;j=Ak(k[p>>2]|0)|0;x=0;l=Ba(22,a|0,e|0,f-c|0,n-a>>2|0,b|0)|0;v=x;x=0;if(v&1){u=9;break}if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){u=8;break}switch(l|0){case 0:{o=2;break b}case -1:{j=a;u=14;break c}default:{}}a=(k[h>>2]|0)+(l<<2)|0;k[h>>2]=a;if((a|0)==(g|0)){u=31;break}c=k[e>>2]|0;if((m|0)==(d|0))j=d;else{j=Ak(k[p>>2]|0)|0;x=0;c=Ea(20,a|0,c|0,1,b|0)|0;v=x;x=0;if(v&1){u=38;break}if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){u=37;break}if(c){o=2;break b}k[h>>2]=(k[h>>2]|0)+4;c=(k[e>>2]|0)+1|0;k[e>>2]=c;d:do if((c|0)==(d|0))j=d;else{j=c;while(1){if(!(i[j>>0]|0))break d;j=j+1|0;if((j|0)==(d|0)){j=d;break}}}while(0);a=k[h>>2]|0}if((a|0)==(g|0)|(c|0)==(d|0)){u=47;break b}else m=j}if((u|0)==8){v=Wa(0)|0;oc(v)}else if((u|0)==9){c=Wa()|0;if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){v=Wa(0)|0;oc(v)}fb(c|0)}else if((u|0)==14){k[h>>2]=j;e:do if((c|0)!=(k[e>>2]|0)){a=j;f:while(1){j=Ak(k[p>>2]|0)|0;x=0;a=Ea(20,a|0,c|0,f-c|0,s|0)|0;v=x;x=0;if(v&1){u=19;break}if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){u=18;break}switch(a|0){case -1:{u=25;break f}case -2:{u=26;break f}case 0:{c=c+1|0;break}default:c=c+a|0}a=(k[h>>2]|0)+4|0;k[h>>2]=a;if((c|0)==(k[e>>2]|0)){q=c;break e}}if((u|0)==18){v=Wa(0)|0;oc(v)}else if((u|0)==19){c=Wa()|0;if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){v=Wa(0)|0;oc(v)}fb(c|0)}else if((u|0)==25){k[e>>2]=c;o=2;break b}else if((u|0)==26){k[e>>2]=c;o=1;break b}}else q=c;while(0);k[e>>2]=q;o=(q|0)!=(d|0)&1;break}else if((u|0)==31){c=k[e>>2]|0;u=47;break}else if((u|0)==37){v=Wa(0)|0;oc(v)}else if((u|0)==38){c=Wa()|0;if((j|0)!=0?(x=0,ta(75,j|0)|0,v=x,x=0,v&1):0){v=Wa(0)|0;oc(v)}fb(c|0)}}else u=47;while(0);if((u|0)==47)o=(c|0)!=(d|0)&1;r=t;return o|0}function Gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=r;r=r+16|0;f=g;k[e>>2]=c;c=Ak(k[a+8>>2]|0)|0;x=0;a=va(34,f|0,0,b|0)|0;b=x;x=0;if(b&1){f=Wa()|0;if((c|0)!=0?(x=0,ta(75,c|0)|0,g=x,x=0,g&1):0){g=Wa(0)|0;oc(g)}fb(f|0)}if((c|0)!=0?(x=0,ta(75,c|0)|0,b=x,x=0,b&1):0){b=Wa(0)|0;oc(b)}switch(a|0){case 0:case -1:{f=2;break}default:{a=a+-1|0;if(a>>>0<=(d-(k[e>>2]|0)|0)>>>0)if(!a)f=0;else while(1){b=i[f>>0]|0;d=k[e>>2]|0;k[e>>2]=d+1;i[d>>0]=b;a=a+-1|0;if(!a){f=0;break}else f=f+1|0}else f=1}}r=g;return f|0}function Ht(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+8|0;x=0;c=ta(75,k[b>>2]|0)|0;d=x;x=0;do if(d&1)e=16;else{x=0;d=va(35,0,0,4)|0;a=x;x=0;if(a&1){a=Wa(0)|0;if(!c)break;x=0;ta(75,c|0)|0;g=x;x=0;if(!(g&1))break;g=Wa(0)|0;oc(g)}if((c|0)!=0?(x=0,ta(75,c|0)|0,g=x,x=0,g&1):0){g=Wa(0)|0;oc(g)}if(!d){a=k[b>>2]|0;if(a){x=0;a=ta(75,a|0)|0;g=x;x=0;if(g&1){e=16;break}if((a|0)!=0?(x=0,ta(75,a|0)|0,g=x,x=0,g&1):0){g=Wa(0)|0;oc(g)}else f=0}else f=1}else f=-1;return f|0}while(0);if((e|0)==16)a=Wa(0)|0;oc(a);return 0}function It(a){a=a|0;return 0}function Jt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=d;i=a+8|0;a:do if((c|0)==(d|0)|(e|0)==0)a=0;else{a=0;h=0;while(1){g=Ak(k[i>>2]|0)|0;x=0;f=va(36,c|0,j-c|0,b|0)|0;n=x;x=0;if(n&1){m=g;break}if((g|0)!=0?(x=0,ta(75,g|0)|0,n=x,x=0,n&1):0){l=5;break}switch(f|0){case -2:case -1:break a;case 0:{c=c+1|0;f=1;break}default:c=c+f|0}a=f+a|0;h=h+1|0;if((c|0)==(d|0)|h>>>0>=e>>>0)break a}if((l|0)==5){n=Wa(0)|0;oc(n)}a=Wa()|0;if((m|0)!=0?(x=0,ta(75,m|0)|0,n=x,x=0,n&1):0){n=Wa(0)|0;oc(n)}fb(a|0)}while(0);return a|0}function Kt(a){a=a|0;var b=0,c=0;a=k[a+8>>2]|0;if(a){x=0;a=ta(75,a|0)|0;c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)}if((a|0)!=0?(x=0,ta(75,a|0)|0,c=x,x=0,c&1):0){c=Wa(0)|0;oc(c)}else b=4}else b=1;return b|0}function Lt(a){a=a|0;mj(a);return}function Mt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=Rv(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function Nt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=Sv(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function Ot(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[e>>2]=c;return 3}function Pt(a){a=a|0;return 0}function Qt(a){a=a|0;return 0}function Rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Tv(c,d,e,1114111,0)|0}function St(a){a=a|0;return 4}function Tt(a){a=a|0;mj(a);return}function Ut(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=Uv(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function Vt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;a=r;r=r+16|0;i=a+4|0;b=a;k[i>>2]=c;k[b>>2]=f;g=Vv(c,d,i,f,g,b,1114111,0)|0;k[e>>2]=k[i>>2];k[h>>2]=k[b>>2];r=a;return g|0}function Wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[e>>2]=c;return 3}function Xt(a){a=a|0;return 0}function Yt(a){a=a|0;return 0}function Zt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wv(c,d,e,1114111,0)|0}function _t(a){a=a|0;return 4}function $t(a){a=a|0;mj(a);return}function au(a){a=a|0;mj(a);return}function bu(a,b){a=a|0;b=b|0;k[a+4>>2]=b+-1;k[a>>2]=44384;i[a+8>>0]=46;i[a+9>>0]=44;a=a+12|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function cu(a,b){a=a|0;b=b|0;k[a+4>>2]=b+-1;k[a>>2]=44424;k[a+8>>2]=46;k[a+12>>2]=44;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function du(a){a=a|0;k[a>>2]=44384;Sm(a+12|0);return}function eu(a){a=a|0;du(a);mj(a);return}function fu(a){a=a|0;k[a>>2]=44424;Sm(a+16|0);return}function gu(a){a=a|0;fu(a);mj(a);return}function hu(a){a=a|0;return i[a+8>>0]|0}function iu(a){a=a|0;return k[a+8>>2]|0}function ju(a){a=a|0;return i[a+9>>0]|0}function ku(a){a=a|0;return k[a+12>>2]|0}function lu(a,b){a=a|0;b=b|0;Pm(a,b+12|0);return}function mu(a,b){a=a|0;b=b|0;Pm(a,b+16|0);return}function nu(a,b){a=a|0;b=b|0;Qm(a,59024,4);return}function ou(a,b){a=a|0;b=b|0;cn(a,44996,zl(44996)|0);return}function pu(a,b){a=a|0;b=b|0;Qm(a,59029,5);return}function qu(a,b){a=a|0;b=b|0;cn(a,45016,zl(45016)|0);return}function ru(a){a=a|0;switch(k[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function su(a){a=a|0;do if((i[2464]|0)==0?(Qa(2464)|0)!=0:0){if((i[2472]|0)==0?(Qa(2472)|0)!=0:0){a=45040;do{k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+12|0}while((a|0)!=45208);tb(193,0,w|0)|0;Ya(2472)}x=0;Aa(41,45040,59035)|0;a=x;x=0;if(((((((((((((!(a&1)?(x=0,Aa(41,45052,59042)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45064,59049)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45076,59057)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45088,59067)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45100,59076)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45112,59083)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45124,59092)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45136,59096)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45148,59100)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45160,59104)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45172,59108)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45184,59112)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45196,59116)|0,a=x,x=0,!(a&1)):0){k[11302]=45040;Ya(2464);break}a=Wa()|0;Bb(2464);fb(a|0)}while(0);return k[11302]|0}function tu(a){a=a|0;do if((i[2480]|0)==0?(Qa(2480)|0)!=0:0){if((i[2488]|0)==0?(Qa(2488)|0)!=0:0){a=45212;do{k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+12|0}while((a|0)!=45380);tb(194,0,w|0)|0;Ya(2488)}x=0;Aa(42,45212,45380)|0;a=x;x=0;if(((((((((((((!(a&1)?(x=0,Aa(42,45224,45408)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45236,45436)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45248,45468)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45260,45508)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45272,45544)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45284,45572)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45296,45608)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45308,45624)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45320,45640)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45332,45656)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45344,45672)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45356,45688)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,45368,45704)|0,a=x,x=0,!(a&1)):0){k[11430]=45212;Ya(2480);break}a=Wa()|0;Bb(2480);fb(a|0)}while(0);return k[11430]|0}function uu(a){a=a|0;a:do if((i[2496]|0)==0?(Qa(2496)|0)!=0:0){if((i[2504]|0)==0?(Qa(2504)|0)!=0:0){a=45724;do{k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+12|0}while((a|0)!=46012);tb(195,0,w|0)|0;Ya(2504)}x=0;Aa(41,45724,59120)|0;a=x;x=0;do if((((((((((((((!(a&1)?(x=0,Aa(41,45736,59128)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45748,59137)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45760,59143)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45772,59149)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45784,59153)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45796,59158)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45808,59163)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45820,59170)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45832,59180)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45844,59188)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45856,59197)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45868,59206)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45880,59210)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(41,45892,59214)|0,a=x,x=0,!(a&1)):0){x=0;Aa(41,45904,59218)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,45916,59149)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,45928,59222)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,45940,59226)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,45952,59230)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,45964,59234)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,45976,59238)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,45988,59242)|0;a=x;x=0;if(a&1)break;x=0;Aa(41,46e3,59246)|0;a=x;x=0;if(a&1)break;k[11503]=45724;Ya(2496);break a}while(0);a=Wa()|0;Bb(2496);fb(a|0)}while(0);return k[11503]|0}function vu(a){a=a|0;a:do if((i[2512]|0)==0?(Qa(2512)|0)!=0:0){if((i[2520]|0)==0?(Qa(2520)|0)!=0:0){a=46016;do{k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+12|0}while((a|0)!=46304);tb(196,0,w|0)|0;Ya(2520)}x=0;Aa(42,46016,46304)|0;a=x;x=0;do if((((((((((((((!(a&1)?(x=0,Aa(42,46028,46336)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46040,46372)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46052,46396)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46064,46420)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46076,46436)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46088,46456)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46100,46476)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46112,46504)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46124,46544)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46136,46576)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46148,46612)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46160,46648)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46172,46664)|0,a=x,x=0,!(a&1)):0)?(x=0,Aa(42,46184,46680)|0,a=x,x=0,!(a&1)):0){x=0;Aa(42,46196,46696)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46208,46420)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46220,46712)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46232,46728)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46244,46744)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46256,46760)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46268,46776)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46280,46792)|0;a=x;x=0;if(a&1)break;x=0;Aa(42,46292,46808)|0;a=x;x=0;if(a&1)break;k[11706]=46016;Ya(2512);break a}while(0);a=Wa()|0;Bb(2512);fb(a|0)}while(0);return k[11706]|0}function wu(a){a=a|0;do if((i[2528]|0)==0?(Qa(2528)|0)!=0:0){if((i[2536]|0)==0?(Qa(2536)|0)!=0:0){a=46828;do{k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+12|0}while((a|0)!=47116);tb(197,0,w|0)|0;Ya(2536)}x=0;Aa(41,46828,59250)|0;a=x;x=0;if(!(a&1)?(x=0,Aa(41,46840,59253)|0,a=x,x=0,!(a&1)):0){k[11779]=46828;Ya(2528);break}a=Wa()|0;Bb(2528);fb(a|0)}while(0);return k[11779]|0}function xu(a){a=a|0;do if((i[2544]|0)==0?(Qa(2544)|0)!=0:0){if((i[2552]|0)==0?(Qa(2552)|0)!=0:0){a=47120;do{k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+12|0}while((a|0)!=47408);tb(198,0,w|0)|0;Ya(2552)}x=0;Aa(42,47120,47408)|0;a=x;x=0;if(!(a&1)?(x=0,Aa(42,47132,47420)|0,a=x,x=0,!(a&1)):0){k[11858]=47120;Ya(2544);break}a=Wa()|0;Bb(2544);fb(a|0)}while(0);return k[11858]|0}function yu(a){a=a|0;do if((i[2560]|0)==0?(Qa(2560)|0)!=0:0){x=0;Fa(5,47436,59256,8);a=x;x=0;if(a&1){a=Wa()|0;Bb(2560);fb(a|0)}else{tb(199,47436,w|0)|0;Ya(2560);break}}while(0);return 47436}function zu(a){a=a|0;var b=0;do if((i[2568]|0)==0?(Qa(2568)|0)!=0:0){x=0;a=ta(76,47448)|0;b=x;x=0;if(!(b&1)?(x=0,Fa(15,47484,47448,a|0),b=x,x=0,!(b&1)):0){tb(200,47484,w|0)|0;Ya(2568);break}b=Wa()|0;Bb(2568);fb(b|0)}while(0);return 47484}function Au(a){a=a|0;do if((i[2576]|0)==0?(Qa(2576)|0)!=0:0){x=0;Fa(5,47496,59265,8);a=x;x=0;if(a&1){a=Wa()|0;Bb(2576);fb(a|0)}else{tb(199,47496,w|0)|0;Ya(2576);break}}while(0);return 47496}function Bu(a){a=a|0;var b=0;do if((i[2584]|0)==0?(Qa(2584)|0)!=0:0){x=0;a=ta(76,47508)|0;b=x;x=0;if(!(b&1)?(x=0,Fa(15,47544,47508,a|0),b=x,x=0,!(b&1)):0){tb(200,47544,w|0)|0;Ya(2584);break}b=Wa()|0;Bb(2584);fb(b|0)}while(0);return 47544}function Cu(a){a=a|0;do if((i[2592]|0)==0?(Qa(2592)|0)!=0:0){x=0;Fa(5,47556,59274,20);a=x;x=0;if(a&1){a=Wa()|0;Bb(2592);fb(a|0)}else{tb(199,47556,w|0)|0;Ya(2592);break}}while(0);return 47556}function Du(a){a=a|0;var b=0;do if((i[2600]|0)==0?(Qa(2600)|0)!=0:0){x=0;a=ta(76,47568)|0;b=x;x=0;if(!(b&1)?(x=0,Fa(15,47652,47568,a|0),b=x,x=0,!(b&1)):0){tb(200,47652,w|0)|0;Ya(2600);break}b=Wa()|0;Bb(2600);fb(b|0)}while(0);return 47652}function Eu(a){a=a|0;do if((i[2608]|0)==0?(Qa(2608)|0)!=0:0){x=0;Fa(5,47664,59295,11);a=x;x=0;if(a&1){a=Wa()|0;Bb(2608);fb(a|0)}else{tb(199,47664,w|0)|0;Ya(2608);break}}while(0);return 47664}function Fu(a){a=a|0;var b=0;do if((i[2616]|0)==0?(Qa(2616)|0)!=0:0){x=0;a=ta(76,47676)|0;b=x;x=0;if(!(b&1)?(x=0,Fa(15,47724,47676,a|0),b=x,x=0,!(b&1)):0){tb(200,47724,w|0)|0;Ya(2616);break}b=Wa()|0;Bb(2616);fb(b|0)}while(0);return 47724}function Gu(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=44304;a=a+8|0;b=k[a>>2]|0;x=0;c=Da(3)|0;d=x;x=0;do if(!(d&1)){if((b|0)!=(c|0)?(x=0,qa(188,k[a>>2]|0),d=x,x=0,d&1):0)break;return}while(0);d=Wa(0)|0;oc(d)}function Hu(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;z=r;r=r+112|0;j=z;n=(d-c|0)/12|0;do if(n>>>0>100){j=Pl(n)|0;if((j|0)==0?(x=0,Ga(6),y=x,x=0,y&1):0){h=0;q=6;break}h=j;q=11}else{h=0;q=11}while(0);a:do if((q|0)==11){if((c|0)==(d|0))m=0;else{q=c;o=0;p=j;while(1){m=i[q>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=k[q+4>>2]|0;if(!m){i[p>>0]=2;m=o+1|0;n=n+-1|0}else{i[p>>0]=1;m=o}q=q+12|0;if((q|0)==(d|0))break;else{o=m;p=p+1|0}}}w=(c|0)==(d|0);y=(c|0)==(d|0);v=0;s=m;b:while(1){m=k[a>>2]|0;do if(m){if((k[m+12>>2]|0)==(k[m+16>>2]|0)){x=0;m=ta(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;u=x;x=0;if(u&1){q=5;break b}if((m|0)==-1){k[a>>2]=0;m=0;break}else{m=k[a>>2]|0;break}}}else m=0;while(0);q=(m|0)==0;o=k[b>>2]|0;if(o){if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;m=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;u=x;x=0;if(u&1){q=5;break}if((m|0)==-1){k[b>>2]=0;o=0}}}else o=0;p=(o|0)==0;m=k[a>>2]|0;if(!((n|0)!=0&(q^p))){q=64;break}o=k[m+12>>2]|0;if((o|0)==(k[m+16>>2]|0)){x=0;m=ta(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;u=x;x=0;if(u&1){q=5;break}}else m=l[o>>0]|0;m=m&255;if(!g){x=0;m=Aa(k[(k[e>>2]|0)+12>>2]|0,e|0,m|0)|0;u=x;x=0;if(u&1){q=5;break}}u=v+1|0;if(w){m=0;q=s}else{p=0;t=c;q=s;s=j;while(1){do if((i[s>>0]|0)==1){if(!(i[t>>0]&1))o=t+1|0;else o=k[t+8>>2]|0;o=i[o+v>>0]|0;if(!g){x=0;o=Aa(k[(k[e>>2]|0)+12>>2]|0,e|0,o|0)|0;A=x;x=0;if(A&1){q=4;break b}}if(m<<24>>24!=o<<24>>24){i[s>>0]=0;o=p;n=n+-1|0;break}o=i[t>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=k[t+4>>2]|0;if((o|0)==(u|0)){i[s>>0]=2;o=1;q=q+1|0;n=n+-1|0}else o=1}else o=p;while(0);t=t+12|0;if((t|0)==(d|0)){m=o;break}else{p=o;s=s+1|0}}}if(!m){v=u;s=q;continue}m=k[a>>2]|0;o=m+12|0;p=k[o>>2]|0;if((p|0)==(k[m+16>>2]|0)){x=0;ta(k[(k[m>>2]|0)+40>>2]|0,m|0)|0;A=x;x=0;if(A&1){q=5;break}}else k[o>>2]=p+1;if((q+n|0)>>>0<2|y){v=u;s=q;continue}else{m=c;p=q;q=j}while(1){if((i[q>>0]|0)==2){o=i[m>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=k[m+4>>2]|0;if((o|0)!=(u|0)){i[q>>0]=0;p=p+-1|0}}m=m+12|0;if((m|0)==(d|0)){v=u;s=p;continue b}else q=q+1|0}}if((q|0)==4){c=Wa()|0;break}else if((q|0)==5){c=Wa()|0;break}else if((q|0)==64){do if(m){if((k[m+12>>2]|0)==(k[m+16>>2]|0)){x=0;m=ta(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;A=x;x=0;if(A&1){q=6;break a}if((m|0)==-1){k[a>>2]=0;m=0;break}else{m=k[a>>2]|0;break}}}else m=0;while(0);n=(m|0)==0;do if(!p){if((k[o+12>>2]|0)==(k[o+16>>2]|0)){x=0;m=ta(k[(k[o>>2]|0)+36>>2]|0,o|0)|0;A=x;x=0;if(A&1){q=6;break a}if((m|0)==-1){k[b>>2]=0;q=76;break}}if(!n)q=77}else q=76;while(0);if((q|0)==76?n:0)q=77;if((q|0)==77)k[f>>2]=k[f>>2]|2;c:do if((c|0)==(d|0))q=81;else while(1){if((i[j>>0]|0)==2)break c;c=c+12|0;if((c|0)==(d|0)){q=81;break}else j=j+1|0}while(0);if((q|0)==81){k[f>>2]=k[f>>2]|4;c=d}if(h)Ql(h);r=z;return c|0}}while(0);if((q|0)==6)c=Wa()|0;if(h)Ql(h);fb(c|0);return 0}function Iu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=r;r=r+240|0;s=A+202|0;g=A+200|0;C=A+24|0;B=A+12|0;u=A+8|0;y=A+40|0;z=A+4|0;v=A;t=ru(d)|0;up(C,d,s,g);k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,a|0,0);q=x;x=0;a:do if(!(q&1)){o=B+8|0;p=B+1|0;d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d;k[z>>2]=y;k[v>>2]=0;q=B+4|0;n=i[g>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){D=24;break}if((g|0)==-1){k[b>>2]=0;a=0}}}else a=0;h=(a|0)==0;g=k[c>>2]|0;do if(g){if((k[g+12>>2]|0)!=(k[g+16>>2]|0))if(h)break;else break b;x=0;j=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;m=x;x=0;if(m&1){D=24;break b}if((j|0)!=-1)if(h)break;else break b;else{k[c>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(h){g=0;break}else g=0}h=i[B>>0]|0;h=(h&1)==0?(h&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(d+h|0)){x=0;Fa(8,B|0,h<<1|0,0);m=x;x=0;if(m&1){D=24;break}if(!(i[B>>0]&1))d=10;else d=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,d|0,0);m=x;x=0;if(m&1){D=24;break}d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d+h}j=a+12|0;h=k[j>>2]|0;m=a+16|0;if((h|0)==(k[m>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}}else h=l[h>>0]|0;if(ep(h&255,t,d,u,v,n,C,y,z,s)|0)break;g=k[j>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}else continue}else{k[j>>2]=g+1;continue}}if((D|0)==24){a=Wa()|0;break}E=i[C>>0]|0;if((((E&1)==0?(E&255)>>>1:k[C+4>>2]|0)|0)!=0?(w=k[z>>2]|0,(w-y|0)<160):0){E=k[v>>2]|0;k[z>>2]=w+4;k[w>>2]=E}x=0;d=Ea(21,d|0,k[u>>2]|0,e|0,t|0)|0;E=x;x=0;if(!(E&1)){k[f>>2]=d;cs(C,y,k[z>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;E=x;x=0;if(E&1){D=25;break a}if((a|0)==-1){k[c>>2]=0;D=49;break}}if(!d)D=50}else D=49;while(0);if((D|0)==49?d:0)D=50;if((D|0)==50)k[e>>2]=k[e>>2]|2;E=k[b>>2]|0;Sm(B);Sm(C);r=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)a=Wa()|0;Sm(B);Sm(C);fb(a|0);return 0}function Ju(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=r;r=r+240|0;s=A+202|0;g=A+200|0;C=A+24|0;B=A+12|0;u=A+8|0;y=A+40|0;z=A+4|0;v=A;t=ru(d)|0;up(C,d,s,g);k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,a|0,0);q=x;x=0;a:do if(!(q&1)){o=B+8|0;p=B+1|0;d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d;k[z>>2]=y;k[v>>2]=0;q=B+4|0;n=i[g>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){D=24;break}if((g|0)==-1){k[b>>2]=0;a=0}}}else a=0;g=(a|0)==0;h=k[c>>2]|0;do if(h){if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(g)break;else break b;x=0;j=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){D=24;break b}if((j|0)!=-1)if(g)break;else break b;else{k[c>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(g){h=0;break}else h=0}g=i[B>>0]|0;g=(g&1)==0?(g&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(d+g|0)){x=0;Fa(8,B|0,g<<1|0,0);m=x;x=0;if(m&1){D=24;break}if(!(i[B>>0]&1))d=10;else d=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,d|0,0);m=x;x=0;if(m&1){D=24;break}d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d+g}j=a+12|0;g=k[j>>2]|0;m=a+16|0;if((g|0)==(k[m>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}}else g=l[g>>0]|0;if(ep(g&255,t,d,u,v,n,C,y,z,s)|0)break;g=k[j>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}else continue}else{k[j>>2]=g+1;continue}}if((D|0)==24){a=Wa()|0;break}E=i[C>>0]|0;if((((E&1)==0?(E&255)>>>1:k[C+4>>2]|0)|0)!=0?(w=k[z>>2]|0,(w-y|0)<160):0){E=k[v>>2]|0;k[z>>2]=w+4;k[w>>2]=E}x=0;d=Ea(22,d|0,k[u>>2]|0,e|0,t|0)|0;g=M;E=x;x=0;if(!(E&1)){E=f;k[E>>2]=d;k[E+4>>2]=g;cs(C,y,k[z>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;E=x;x=0;if(E&1){D=25;break a}if((a|0)==-1){k[c>>2]=0;D=49;break}}if(!d)D=50}else D=49;while(0);if((D|0)==49?d:0)D=50;if((D|0)==50)k[e>>2]=k[e>>2]|2;E=k[b>>2]|0;Sm(B);Sm(C);r=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)a=Wa()|0;Sm(B);Sm(C);fb(a|0);return 0}function Ku(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=r;r=r+240|0;t=B+202|0;g=B+200|0;D=B+24|0;C=B+12|0;v=B+8|0;z=B+40|0;A=B+4|0;w=B;u=ru(d)|0;up(D,d,t,g);k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;if(!(i[C>>0]&1))a=10;else a=(k[C>>2]&-2)+-1|0;x=0;Fa(8,C|0,a|0,0);s=x;x=0;a:do if(!(s&1)){p=C+8|0;q=C+1|0;d=(i[C>>0]&1)==0?q:k[p>>2]|0;k[v>>2]=d;k[A>>2]=z;k[w>>2]=0;s=C+4|0;o=i[g>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){E=24;break}if((g|0)==-1){k[b>>2]=0;a=0}}}else a=0;h=(a|0)==0;g=k[c>>2]|0;do if(g){if((k[g+12>>2]|0)!=(k[g+16>>2]|0))if(h)break;else break b;x=0;m=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;n=x;x=0;if(n&1){E=24;break b}if((m|0)!=-1)if(h)break;else break b;else{k[c>>2]=0;E=16;break}}else E=16;while(0);if((E|0)==16){E=0;if(h){g=0;break}else g=0}h=i[C>>0]|0;h=(h&1)==0?(h&255)>>>1:k[s>>2]|0;if((k[v>>2]|0)==(d+h|0)){x=0;Fa(8,C|0,h<<1|0,0);n=x;x=0;if(n&1){E=24;break}if(!(i[C>>0]&1))d=10;else d=(k[C>>2]&-2)+-1|0;x=0;Fa(8,C|0,d|0,0);n=x;x=0;if(n&1){E=24;break}d=(i[C>>0]&1)==0?q:k[p>>2]|0;k[v>>2]=d+h}m=a+12|0;h=k[m>>2]|0;n=a+16|0;if((h|0)==(k[n>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;F=x;x=0;if(F&1){E=24;break}}else h=l[h>>0]|0;if(ep(h&255,u,d,v,w,o,D,z,A,t)|0)break;g=k[m>>2]|0;if((g|0)==(k[n>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;F=x;x=0;if(F&1){E=24;break}else continue}else{k[m>>2]=g+1;continue}}if((E|0)==24){a=Wa()|0;break}F=i[D>>0]|0;if((((F&1)==0?(F&255)>>>1:k[D+4>>2]|0)|0)!=0?(y=k[A>>2]|0,(y-z|0)<160):0){F=k[w>>2]|0;k[A>>2]=y+4;k[y>>2]=F}x=0;d=Ea(23,d|0,k[v>>2]|0,e|0,u|0)|0;F=x;x=0;if(!(F&1)){j[f>>1]=d;cs(D,z,k[A>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;F=x;x=0;if(F&1){E=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;F=x;x=0;if(F&1){E=25;break a}if((a|0)==-1){k[c>>2]=0;E=49;break}}if(!d)E=50}else E=49;while(0);if((E|0)==49?d:0)E=50;if((E|0)==50)k[e>>2]=k[e>>2]|2;F=k[b>>2]|0;Sm(C);Sm(D);r=B;return F|0}else E=25}else E=25;while(0);if((E|0)==25)a=Wa()|0;Sm(C);Sm(D);fb(a|0);return 0}function Lu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=r;r=r+240|0;s=A+202|0;g=A+200|0;C=A+24|0;B=A+12|0;u=A+8|0;y=A+40|0;z=A+4|0;v=A;t=ru(d)|0;up(C,d,s,g);k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,a|0,0);q=x;x=0;a:do if(!(q&1)){o=B+8|0;p=B+1|0;d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d;k[z>>2]=y;k[v>>2]=0;q=B+4|0;n=i[g>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){D=24;break}if((g|0)==-1){k[b>>2]=0;a=0}}}else a=0;h=(a|0)==0;g=k[c>>2]|0;do if(g){if((k[g+12>>2]|0)!=(k[g+16>>2]|0))if(h)break;else break b;x=0;j=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;m=x;x=0;if(m&1){D=24;break b}if((j|0)!=-1)if(h)break;else break b;else{k[c>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(h){g=0;break}else g=0}h=i[B>>0]|0;h=(h&1)==0?(h&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(d+h|0)){x=0;Fa(8,B|0,h<<1|0,0);m=x;x=0;if(m&1){D=24;break}if(!(i[B>>0]&1))d=10;else d=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,d|0,0);m=x;x=0;if(m&1){D=24;break}d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d+h}j=a+12|0;h=k[j>>2]|0;m=a+16|0;if((h|0)==(k[m>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}}else h=l[h>>0]|0;if(ep(h&255,t,d,u,v,n,C,y,z,s)|0)break;g=k[j>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}else continue}else{k[j>>2]=g+1;continue}}if((D|0)==24){a=Wa()|0;break}E=i[C>>0]|0;if((((E&1)==0?(E&255)>>>1:k[C+4>>2]|0)|0)!=0?(w=k[z>>2]|0,(w-y|0)<160):0){E=k[v>>2]|0;k[z>>2]=w+4;k[w>>2]=E}x=0;d=Ea(24,d|0,k[u>>2]|0,e|0,t|0)|0;E=x;x=0;if(!(E&1)){k[f>>2]=d;cs(C,y,k[z>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;E=x;x=0;if(E&1){D=25;break a}if((a|0)==-1){k[c>>2]=0;D=49;break}}if(!d)D=50}else D=49;while(0);if((D|0)==49?d:0)D=50;if((D|0)==50)k[e>>2]=k[e>>2]|2;E=k[b>>2]|0;Sm(B);Sm(C);r=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)a=Wa()|0;Sm(B);Sm(C);fb(a|0);return 0}function Mu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=r;r=r+240|0;s=A+202|0;g=A+200|0;C=A+24|0;B=A+12|0;u=A+8|0;y=A+40|0;z=A+4|0;v=A;t=ru(d)|0;up(C,d,s,g);k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,a|0,0);q=x;x=0;a:do if(!(q&1)){o=B+8|0;p=B+1|0;d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d;k[z>>2]=y;k[v>>2]=0;q=B+4|0;n=i[g>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){D=24;break}if((g|0)==-1){k[b>>2]=0;a=0}}}else a=0;h=(a|0)==0;g=k[c>>2]|0;do if(g){if((k[g+12>>2]|0)!=(k[g+16>>2]|0))if(h)break;else break b;x=0;j=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;m=x;x=0;if(m&1){D=24;break b}if((j|0)!=-1)if(h)break;else break b;else{k[c>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(h){g=0;break}else g=0}h=i[B>>0]|0;h=(h&1)==0?(h&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(d+h|0)){x=0;Fa(8,B|0,h<<1|0,0);m=x;x=0;if(m&1){D=24;break}if(!(i[B>>0]&1))d=10;else d=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,d|0,0);m=x;x=0;if(m&1){D=24;break}d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d+h}j=a+12|0;h=k[j>>2]|0;m=a+16|0;if((h|0)==(k[m>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}}else h=l[h>>0]|0;if(ep(h&255,t,d,u,v,n,C,y,z,s)|0)break;g=k[j>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}else continue}else{k[j>>2]=g+1;continue}}if((D|0)==24){a=Wa()|0;break}E=i[C>>0]|0;if((((E&1)==0?(E&255)>>>1:k[C+4>>2]|0)|0)!=0?(w=k[z>>2]|0,(w-y|0)<160):0){E=k[v>>2]|0;k[z>>2]=w+4;k[w>>2]=E}x=0;d=Ea(25,d|0,k[u>>2]|0,e|0,t|0)|0;E=x;x=0;if(!(E&1)){k[f>>2]=d;cs(C,y,k[z>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;E=x;x=0;if(E&1){D=25;break a}if((a|0)==-1){k[c>>2]=0;D=49;break}}if(!d)D=50}else D=49;while(0);if((D|0)==49?d:0)D=50;if((D|0)==50)k[e>>2]=k[e>>2]|2;E=k[b>>2]|0;Sm(B);Sm(C);r=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)a=Wa()|0;Sm(B);Sm(C);fb(a|0);return 0}function Nu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=r;r=r+240|0;s=A+202|0;g=A+200|0;C=A+24|0;B=A+12|0;u=A+8|0;y=A+40|0;z=A+4|0;v=A;t=ru(d)|0;up(C,d,s,g);k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,a|0,0);q=x;x=0;a:do if(!(q&1)){o=B+8|0;p=B+1|0;d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d;k[z>>2]=y;k[v>>2]=0;q=B+4|0;n=i[g>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;m=x;x=0;if(m&1){D=24;break}if((g|0)==-1){k[b>>2]=0;a=0}}}else a=0;g=(a|0)==0;h=k[c>>2]|0;do if(h){if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(g)break;else break b;x=0;j=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){D=24;break b}if((j|0)!=-1)if(g)break;else break b;else{k[c>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(g){h=0;break}else h=0}g=i[B>>0]|0;g=(g&1)==0?(g&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(d+g|0)){x=0;Fa(8,B|0,g<<1|0,0);m=x;x=0;if(m&1){D=24;break}if(!(i[B>>0]&1))d=10;else d=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,d|0,0);m=x;x=0;if(m&1){D=24;break}d=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=d+g}j=a+12|0;g=k[j>>2]|0;m=a+16|0;if((g|0)==(k[m>>2]|0)){x=0;g=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}}else g=l[g>>0]|0;if(ep(g&255,t,d,u,v,n,C,y,z,s)|0)break;g=k[j>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=24;break}else continue}else{k[j>>2]=g+1;continue}}if((D|0)==24){a=Wa()|0;break}E=i[C>>0]|0;if((((E&1)==0?(E&255)>>>1:k[C+4>>2]|0)|0)!=0?(w=k[z>>2]|0,(w-y|0)<160):0){E=k[v>>2]|0;k[z>>2]=w+4;k[w>>2]=E}x=0;d=Ea(26,d|0,k[u>>2]|0,e|0,t|0)|0;g=M;E=x;x=0;if(!(E&1)){E=f;k[E>>2]=d;k[E+4>>2]=g;cs(C,y,k[z>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;E=x;x=0;if(E&1){D=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;E=x;x=0;if(E&1){D=25;break a}if((a|0)==-1){k[c>>2]=0;D=49;break}}if(!d)D=50}else D=49;while(0);if((D|0)==49?d:0)D=50;if((D|0)==50)k[e>>2]=k[e>>2]|2;E=k[b>>2]|0;Sm(B);Sm(C);r=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)a=Wa()|0;Sm(B);Sm(C);fb(a|0);return 0}function Ou(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=r;r=r+240|0;v=E+208|0;h=E+203|0;j=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;w=E+200|0;vp(G,d,v,h,j);k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;if(!(i[F>>0]&1))a=10;else a=(k[F>>2]&-2)+-1|0;x=0;Fa(8,F|0,a|0,0);u=x;x=0;a:do if(!(u&1)){s=F+8|0;t=F+1|0;d=(i[F>>0]&1)==0?t:k[s>>2]|0;k[y>>2]=d;k[D>>2]=C;k[z>>2]=0;i[A>>0]=1;i[w>>0]=69;u=F+4|0;q=i[h>>0]|0;p=i[j>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){H=24;break}if((h|0)==-1){k[b>>2]=0;a=0}}}else a=0;j=(a|0)==0;h=k[c>>2]|0;do if(h){if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(j)break;else break b;x=0;m=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;n=x;x=0;if(n&1){H=24;break b}if((m|0)!=-1)if(j)break;else break b;else{k[c>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(j){h=0;break}else h=0}j=i[F>>0]|0;j=(j&1)==0?(j&255)>>>1:k[u>>2]|0;if((k[y>>2]|0)==(d+j|0)){x=0;Fa(8,F|0,j<<1|0,0);n=x;x=0;if(n&1){H=24;break}if(!(i[F>>0]&1))d=10;else d=(k[F>>2]&-2)+-1|0;x=0;Fa(8,F|0,d|0,0);n=x;x=0;if(n&1){H=24;break}d=(i[F>>0]&1)==0?t:k[s>>2]|0;k[y>>2]=d+j}m=a+12|0;j=k[m>>2]|0;n=a+16|0;if((j|0)==(k[n>>2]|0)){x=0;j=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=24;break}}else j=l[j>>0]|0;if(wp(j&255,A,w,d,y,q,p,G,C,D,z,v)|0)break;h=k[m>>2]|0;if((h|0)==(k[n>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=24;break}else continue}else{k[m>>2]=h+1;continue}}if((H|0)==24){a=Wa()|0;break}I=i[G>>0]|0;if(!((i[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:k[G+4>>2]|0)|0)==0)?(B=k[D>>2]|0,(B-C|0)<160):0){I=k[z>>2]|0;k[D>>2]=B+4;k[B>>2]=I}x=0;g=+Ca(1,d|0,k[y>>2]|0,e|0);I=x;x=0;if(!(I&1)){o[f>>2]=g;cs(G,C,k[D>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;I=x;x=0;if(I&1){H=25;break a}if((a|0)==-1){k[c>>2]=0;H=49;break}}if(!d)H=50}else H=49;while(0);if((H|0)==49?d:0)H=50;if((H|0)==50)k[e>>2]=k[e>>2]|2;I=k[b>>2]|0;Sm(F);Sm(G);r=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)a=Wa()|0;Sm(F);Sm(G);fb(a|0);return 0}function Pu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=r;r=r+240|0;v=E+208|0;h=E+203|0;j=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;w=E+200|0;vp(G,d,v,h,j);k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;if(!(i[F>>0]&1))a=10;else a=(k[F>>2]&-2)+-1|0;x=0;Fa(8,F|0,a|0,0);u=x;x=0;a:do if(!(u&1)){s=F+8|0;t=F+1|0;d=(i[F>>0]&1)==0?t:k[s>>2]|0;k[y>>2]=d;k[D>>2]=C;k[z>>2]=0;i[A>>0]=1;i[w>>0]=69;u=F+4|0;q=i[h>>0]|0;o=i[j>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){H=24;break}if((h|0)==-1){k[b>>2]=0;a=0}}}else a=0;j=(a|0)==0;h=k[c>>2]|0;do if(h){if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(j)break;else break b;x=0;m=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;n=x;x=0;if(n&1){H=24;break b}if((m|0)!=-1)if(j)break;else break b;else{k[c>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(j){h=0;break}else h=0}j=i[F>>0]|0;j=(j&1)==0?(j&255)>>>1:k[u>>2]|0;if((k[y>>2]|0)==(d+j|0)){x=0;Fa(8,F|0,j<<1|0,0);n=x;x=0;if(n&1){H=24;break}if(!(i[F>>0]&1))d=10;else d=(k[F>>2]&-2)+-1|0;x=0;Fa(8,F|0,d|0,0);n=x;x=0;if(n&1){H=24;break}d=(i[F>>0]&1)==0?t:k[s>>2]|0;k[y>>2]=d+j}m=a+12|0;j=k[m>>2]|0;n=a+16|0;if((j|0)==(k[n>>2]|0)){x=0;j=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=24;break}}else j=l[j>>0]|0;if(wp(j&255,A,w,d,y,q,o,G,C,D,z,v)|0)break;h=k[m>>2]|0;if((h|0)==(k[n>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=24;break}else continue}else{k[m>>2]=h+1;continue}}if((H|0)==24){a=Wa()|0;break}I=i[G>>0]|0;if(!((i[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:k[G+4>>2]|0)|0)==0)?(B=k[D>>2]|0,(B-C|0)<160):0){I=k[z>>2]|0;k[D>>2]=B+4;k[B>>2]=I}x=0;g=+Ca(2,d|0,k[y>>2]|0,e|0);I=x;x=0;if(!(I&1)){p[f>>3]=g;cs(G,C,k[D>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;I=x;x=0;if(I&1){H=25;break a}if((a|0)==-1){k[c>>2]=0;H=49;break}}if(!d)H=50}else H=49;while(0);if((H|0)==49?d:0)H=50;if((H|0)==50)k[e>>2]=k[e>>2]|2;I=k[b>>2]|0;Sm(F);Sm(G);r=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)a=Wa()|0;Sm(F);Sm(G);fb(a|0);return 0}function Qu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=r;r=r+240|0;v=E+208|0;h=E+203|0;j=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;w=E+200|0;vp(G,d,v,h,j);k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;if(!(i[F>>0]&1))a=10;else a=(k[F>>2]&-2)+-1|0;x=0;Fa(8,F|0,a|0,0);u=x;x=0;a:do if(!(u&1)){s=F+8|0;t=F+1|0;d=(i[F>>0]&1)==0?t:k[s>>2]|0;k[y>>2]=d;k[D>>2]=C;k[z>>2]=0;i[A>>0]=1;i[w>>0]=69;u=F+4|0;q=i[h>>0]|0;o=i[j>>0]|0;a=k[b>>2]|0;b:while(1){if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;h=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;n=x;x=0;if(n&1){H=24;break}if((h|0)==-1){k[b>>2]=0;a=0}}}else a=0;j=(a|0)==0;h=k[c>>2]|0;do if(h){if((k[h+12>>2]|0)!=(k[h+16>>2]|0))if(j)break;else break b;x=0;m=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;n=x;x=0;if(n&1){H=24;break b}if((m|0)!=-1)if(j)break;else break b;else{k[c>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(j){h=0;break}else h=0}j=i[F>>0]|0;j=(j&1)==0?(j&255)>>>1:k[u>>2]|0;if((k[y>>2]|0)==(d+j|0)){x=0;Fa(8,F|0,j<<1|0,0);n=x;x=0;if(n&1){H=24;break}if(!(i[F>>0]&1))d=10;else d=(k[F>>2]&-2)+-1|0;x=0;Fa(8,F|0,d|0,0);n=x;x=0;if(n&1){H=24;break}d=(i[F>>0]&1)==0?t:k[s>>2]|0;k[y>>2]=d+j}m=a+12|0;j=k[m>>2]|0;n=a+16|0;if((j|0)==(k[n>>2]|0)){x=0;j=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=24;break}}else j=l[j>>0]|0;if(wp(j&255,A,w,d,y,q,o,G,C,D,z,v)|0)break;h=k[m>>2]|0;if((h|0)==(k[n>>2]|0)){x=0;ta(k[(k[a>>2]|0)+40>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=24;break}else continue}else{k[m>>2]=h+1;continue}}if((H|0)==24){a=Wa()|0;break}I=i[G>>0]|0;if(!((i[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:k[G+4>>2]|0)|0)==0)?(B=k[D>>2]|0,(B-C|0)<160):0){I=k[z>>2]|0;k[D>>2]=B+4;k[B>>2]=I}x=0;g=+Ca(3,d|0,k[y>>2]|0,e|0);I=x;x=0;if(!(I&1)){p[f>>3]=g;cs(G,C,k[D>>2]|0,e);if(a){if((k[a+12>>2]|0)==(k[a+16>>2]|0)){x=0;d=ta(k[(k[a>>2]|0)+36>>2]|0,a|0)|0;I=x;x=0;if(I&1){H=25;break}if((d|0)==-1){k[b>>2]=0;a=0}}}else a=0;d=(a|0)==0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;I=x;x=0;if(I&1){H=25;break a}if((a|0)==-1){k[c>>2]=0;H=49;break}}if(!d)H=50}else H=49;while(0);if((H|0)==49?d:0)H=50;if((H|0)==50)k[e>>2]=k[e>>2]|2;I=k[b>>2]|0;Sm(F);Sm(G);r=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)a=Wa()|0;Sm(F);Sm(G);fb(a|0);return 0}function Ru(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;f=e;k[f>>2]=d;d=Ak(b)|0;b=pl(a,c,f)|0;if((d|0)!=0?(x=0,ta(75,d|0)|0,f=x,x=0,f&1):0){f=Wa(0)|0;oc(f)}r=e;return b|0}function Su(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;y=r;r=r+112|0;j=y;m=(d-c|0)/12|0;do if(m>>>0>100){j=Pl(m)|0;if((j|0)==0?(x=0,Ga(6),w=x,x=0,w&1):0){h=0;o=6;break}h=j;o=11}else{h=0;o=11}while(0);a:do if((o|0)==11){if((c|0)==(d|0))l=0;else{p=c;n=0;o=j;while(1){l=i[p>>0]|0;if(!(l&1))l=(l&255)>>>1;else l=k[p+4>>2]|0;if(!l){i[o>>0]=2;l=n+1|0;m=m+-1|0}else{i[o>>0]=1;l=n}p=p+12|0;if((p|0)==(d|0))break;else{n=l;o=o+1|0}}}v=(c|0)==(d|0);w=(c|0)==(d|0);u=0;q=m;b:while(1){m=k[a>>2]|0;do if(m){n=k[m+12>>2]|0;if((n|0)==(k[m+16>>2]|0)){x=0;m=ta(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;t=x;x=0;if(t&1){o=5;break b}}else m=k[n>>2]|0;if((m|0)==-1){k[a>>2]=0;p=1;break}else{p=(k[a>>2]|0)==0;break}}else p=1;while(0);n=k[b>>2]|0;if(n){m=k[n+12>>2]|0;if((m|0)==(k[n+16>>2]|0)){x=0;m=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;t=x;x=0;if(t&1){o=5;break}}else m=k[m>>2]|0;if((m|0)==-1){k[b>>2]=0;n=0;o=1}else o=0}else{n=0;o=1}m=k[a>>2]|0;if(!((q|0)!=0&(p^o))){o=66;break}n=k[m+12>>2]|0;if((n|0)==(k[m+16>>2]|0)){x=0;m=ta(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;t=x;x=0;if(t&1){o=5;break}}else m=k[n>>2]|0;if(!g){x=0;m=Aa(k[(k[e>>2]|0)+28>>2]|0,e|0,m|0)|0;t=x;x=0;if(t&1){o=5;break}}t=u+1|0;if(v){m=0;p=q}else{p=0;s=c;o=q;q=j;while(1){do if((i[q>>0]|0)==1){if(!(i[s>>0]&1))n=s+4|0;else n=k[s+8>>2]|0;n=k[n+(u<<2)>>2]|0;if(!g){x=0;n=Aa(k[(k[e>>2]|0)+28>>2]|0,e|0,n|0)|0;z=x;x=0;if(z&1){o=4;break b}}if((m|0)!=(n|0)){i[q>>0]=0;n=p;o=o+-1|0;break}n=i[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=k[s+4>>2]|0;if((n|0)==(t|0)){i[q>>0]=2;n=1;l=l+1|0;o=o+-1|0}else n=1}else n=p;while(0);s=s+12|0;if((s|0)==(d|0)){m=n;p=o;break}else{p=n;q=q+1|0}}}if(!m){u=t;q=p;continue}m=k[a>>2]|0;n=m+12|0;o=k[n>>2]|0;if((o|0)==(k[m+16>>2]|0)){x=0;ta(k[(k[m>>2]|0)+40>>2]|0,m|0)|0;z=x;x=0;if(z&1){o=5;break}}else k[n>>2]=o+4;if((l+p|0)>>>0<2|w){u=t;q=p;continue}else{m=c;o=j}while(1){if((i[o>>0]|0)==2){n=i[m>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=k[m+4>>2]|0;if((n|0)!=(t|0)){i[o>>0]=0;l=l+-1|0}}m=m+12|0;if((m|0)==(d|0)){u=t;q=p;continue b}else o=o+1|0}}if((o|0)==4){c=Wa()|0;break}else if((o|0)==5){c=Wa()|0;break}else if((o|0)==66){do if(m){l=k[m+12>>2]|0;if((l|0)==(k[m+16>>2]|0)){x=0;l=ta(k[(k[m>>2]|0)+36>>2]|0,m|0)|0;z=x;x=0;if(z&1){o=6;break a}}else l=k[l>>2]|0;if((l|0)==-1){k[a>>2]=0;m=1;break}else{m=(k[a>>2]|0)==0;break}}else m=1;while(0);do if(n){l=k[n+12>>2]|0;if((l|0)==(k[n+16>>2]|0)){x=0;l=ta(k[(k[n>>2]|0)+36>>2]|0,n|0)|0;z=x;x=0;if(z&1){o=6;break a}}else l=k[l>>2]|0;if((l|0)!=-1)if(m)break;else{o=81;break}else{k[b>>2]=0;o=79;break}}else o=79;while(0);if((o|0)==79?m:0)o=81;if((o|0)==81)k[f>>2]=k[f>>2]|2;c:do if((c|0)==(d|0))o=85;else while(1){if((i[j>>0]|0)==2)break c;c=c+12|0;if((c|0)==(d|0)){o=85;break}else j=j+1|0}while(0);if((o|0)==85){k[f>>2]=k[f>>2]|4;c=d}if(h)Ql(h);r=y;return c|0}}while(0);if((o|0)==6)c=Wa()|0;if(h)Ql(h);fb(c|0);return 0}function Tu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=r;r=r+320|0;q=z+208|0;g=z+200|0;B=z+24|0;A=z+12|0;t=z+8|0;w=z+40|0;y=z+4|0;u=z;s=ru(d)|0;xp(B,d,q,g);k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);p=x;x=0;a:do if(!(p&1)){n=A+8|0;o=A+1|0;a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a;k[y>>2]=w;k[u>>2]=0;p=A+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(g){d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){C=25;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;d=0;h=1}else{d=g;h=0}}else{d=0;h=1}j=k[c>>2]|0;do if(j){g=k[j+12>>2]|0;if((g|0)==(k[j+16>>2]|0)){x=0;g=ta(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1){C=25;break b}}else g=k[g>>2]|0;if((g|0)!=-1)if(h)break;else{g=j;break b}else{k[c>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(h){g=0;break}else j=0}g=i[A>>0]|0;g=(g&1)==0?(g&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(a+g|0)){x=0;Fa(8,A|0,g<<1|0,0);l=x;x=0;if(l&1){C=25;break}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);l=x;x=0;if(l&1){C=25;break}a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a+g}h=d+12|0;g=k[h>>2]|0;l=d+16|0;if((g|0)==(k[l>>2]|0)){x=0;g=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=25;break}}else g=k[g>>2]|0;if(tp(g,s,a,t,u,m,B,w,y,q)|0){g=j;break}g=k[h>>2]|0;if((g|0)==(k[l>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=25;break}else{g=d;continue}}else{k[h>>2]=g+4;g=d;continue}}if((C|0)==25){a=Wa()|0;break}D=i[B>>0]|0;if((((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0)!=0?(v=k[y>>2]|0,(v-w|0)<160):0){D=k[u>>2]|0;k[y>>2]=v+4;k[v>>2]=D}x=0;a=Ea(21,a|0,k[t>>2]|0,e|0,s|0)|0;D=x;x=0;if(!(D&1)){k[f>>2]=a;cs(B,w,k[y>>2]|0,e);if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{C=53;break}else{k[c>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?d:0)C=53;if((C|0)==53)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;Sm(A);Sm(B);r=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)a=Wa()|0;Sm(A);Sm(B);fb(a|0);return 0}function Uu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=r;r=r+320|0;q=z+208|0;g=z+200|0;B=z+24|0;A=z+12|0;t=z+8|0;w=z+40|0;y=z+4|0;u=z;s=ru(d)|0;xp(B,d,q,g);k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);p=x;x=0;a:do if(!(p&1)){n=A+8|0;o=A+1|0;a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a;k[y>>2]=w;k[u>>2]=0;p=A+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(g){d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){C=25;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;g=0;j=1}else j=0}else{g=0;j=1}h=k[c>>2]|0;do if(h){d=k[h+12>>2]|0;if((d|0)==(k[h+16>>2]|0)){x=0;d=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;l=x;x=0;if(l&1){C=25;break b}}else d=k[d>>2]|0;if((d|0)!=-1)if(j)break;else break b;else{k[c>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(j){h=0;break}else h=0}d=i[A>>0]|0;d=(d&1)==0?(d&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(a+d|0)){x=0;Fa(8,A|0,d<<1|0,0);l=x;x=0;if(l&1){C=25;break}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);l=x;x=0;if(l&1){C=25;break}a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a+d}j=g+12|0;d=k[j>>2]|0;l=g+16|0;if((d|0)==(k[l>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=25;break}}else d=k[d>>2]|0;if(tp(d,s,a,t,u,m,B,w,y,q)|0)break;d=k[j>>2]|0;if((d|0)==(k[l>>2]|0)){x=0;ta(k[(k[g>>2]|0)+40>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=25;break}else continue}else{k[j>>2]=d+4;continue}}if((C|0)==25){a=Wa()|0;break}D=i[B>>0]|0;if((((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0)!=0?(v=k[y>>2]|0,(v-w|0)<160):0){D=k[u>>2]|0;k[y>>2]=v+4;k[v>>2]=D}x=0;a=Ea(22,a|0,k[t>>2]|0,e|0,s|0)|0;d=M;D=x;x=0;if(!(D&1)){D=f;k[D>>2]=a;k[D+4>>2]=d;cs(B,w,k[y>>2]|0,e);if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(h){a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{C=53;break}else{k[c>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?d:0)C=53;if((C|0)==53)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;Sm(A);Sm(B);r=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)a=Wa()|0;Sm(A);Sm(B);fb(a|0);return 0}function Vu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=r;r=r+320|0;s=A+208|0;g=A+200|0;C=A+24|0;B=A+12|0;u=A+8|0;y=A+40|0;z=A+4|0;v=A;t=ru(d)|0;xp(C,d,s,g);k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,a|0,0);q=x;x=0;a:do if(!(q&1)){o=B+8|0;p=B+1|0;a=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=a;k[z>>2]=y;k[v>>2]=0;q=B+4|0;n=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(g){d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;m=x;x=0;if(m&1){D=25;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;d=0;h=1}else{d=g;h=0}}else{d=0;h=1}l=k[c>>2]|0;do if(l){g=k[l+12>>2]|0;if((g|0)==(k[l+16>>2]|0)){x=0;g=ta(k[(k[l>>2]|0)+36>>2]|0,l|0)|0;m=x;x=0;if(m&1){D=25;break b}}else g=k[g>>2]|0;if((g|0)!=-1)if(h)break;else{g=l;break b}else{k[c>>2]=0;D=17;break}}else D=17;while(0);if((D|0)==17){D=0;if(h){g=0;break}else l=0}g=i[B>>0]|0;g=(g&1)==0?(g&255)>>>1:k[q>>2]|0;if((k[u>>2]|0)==(a+g|0)){x=0;Fa(8,B|0,g<<1|0,0);m=x;x=0;if(m&1){D=25;break}if(!(i[B>>0]&1))a=10;else a=(k[B>>2]&-2)+-1|0;x=0;Fa(8,B|0,a|0,0);m=x;x=0;if(m&1){D=25;break}a=(i[B>>0]&1)==0?p:k[o>>2]|0;k[u>>2]=a+g}h=d+12|0;g=k[h>>2]|0;m=d+16|0;if((g|0)==(k[m>>2]|0)){x=0;g=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;E=x;x=0;if(E&1){D=25;break}}else g=k[g>>2]|0;if(tp(g,t,a,u,v,n,C,y,z,s)|0){g=l;break}g=k[h>>2]|0;if((g|0)==(k[m>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;E=x;x=0;if(E&1){D=25;break}else{g=d;continue}}else{k[h>>2]=g+4;g=d;continue}}if((D|0)==25){a=Wa()|0;break}E=i[C>>0]|0;if((((E&1)==0?(E&255)>>>1:k[C+4>>2]|0)|0)!=0?(w=k[z>>2]|0,(w-y|0)<160):0){E=k[v>>2]|0;k[z>>2]=w+4;k[w>>2]=E}x=0;a=Ea(23,a|0,k[u>>2]|0,e|0,t|0)|0;E=x;x=0;if(!(E&1)){j[f>>1]=a;cs(C,y,k[z>>2]|0,e);if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;E=x;x=0;if(E&1){D=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;E=x;x=0;if(E&1){D=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{D=53;break}else{k[c>>2]=0;D=51;break}}else D=51;while(0);if((D|0)==51?d:0)D=53;if((D|0)==53)k[e>>2]=k[e>>2]|2;E=k[b>>2]|0;Sm(B);Sm(C);r=A;return E|0}else D=26}else D=26;while(0);if((D|0)==26)a=Wa()|0;Sm(B);Sm(C);fb(a|0);return 0}function Wu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=r;r=r+320|0;q=z+208|0;g=z+200|0;B=z+24|0;A=z+12|0;t=z+8|0;w=z+40|0;y=z+4|0;u=z;s=ru(d)|0;xp(B,d,q,g);k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);p=x;x=0;a:do if(!(p&1)){n=A+8|0;o=A+1|0;a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a;k[y>>2]=w;k[u>>2]=0;p=A+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(g){d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){C=25;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;d=0;h=1}else{d=g;h=0}}else{d=0;h=1}j=k[c>>2]|0;do if(j){g=k[j+12>>2]|0;if((g|0)==(k[j+16>>2]|0)){x=0;g=ta(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1){C=25;break b}}else g=k[g>>2]|0;if((g|0)!=-1)if(h)break;else{g=j;break b}else{k[c>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(h){g=0;break}else j=0}g=i[A>>0]|0;g=(g&1)==0?(g&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(a+g|0)){x=0;Fa(8,A|0,g<<1|0,0);l=x;x=0;if(l&1){C=25;break}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);l=x;x=0;if(l&1){C=25;break}a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a+g}h=d+12|0;g=k[h>>2]|0;l=d+16|0;if((g|0)==(k[l>>2]|0)){x=0;g=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=25;break}}else g=k[g>>2]|0;if(tp(g,s,a,t,u,m,B,w,y,q)|0){g=j;break}g=k[h>>2]|0;if((g|0)==(k[l>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=25;break}else{g=d;continue}}else{k[h>>2]=g+4;g=d;continue}}if((C|0)==25){a=Wa()|0;break}D=i[B>>0]|0;if((((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0)!=0?(v=k[y>>2]|0,(v-w|0)<160):0){D=k[u>>2]|0;k[y>>2]=v+4;k[v>>2]=D}x=0;a=Ea(24,a|0,k[t>>2]|0,e|0,s|0)|0;D=x;x=0;if(!(D&1)){k[f>>2]=a;cs(B,w,k[y>>2]|0,e);if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{C=53;break}else{k[c>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?d:0)C=53;if((C|0)==53)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;Sm(A);Sm(B);r=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)a=Wa()|0;Sm(A);Sm(B);fb(a|0);return 0}function Xu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=r;r=r+320|0;q=z+208|0;g=z+200|0;B=z+24|0;A=z+12|0;t=z+8|0;w=z+40|0;y=z+4|0;u=z;s=ru(d)|0;xp(B,d,q,g);k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);p=x;x=0;a:do if(!(p&1)){n=A+8|0;o=A+1|0;a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a;k[y>>2]=w;k[u>>2]=0;p=A+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(g){d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){C=25;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;d=0;h=1}else{d=g;h=0}}else{d=0;h=1}j=k[c>>2]|0;do if(j){g=k[j+12>>2]|0;if((g|0)==(k[j+16>>2]|0)){x=0;g=ta(k[(k[j>>2]|0)+36>>2]|0,j|0)|0;l=x;x=0;if(l&1){C=25;break b}}else g=k[g>>2]|0;if((g|0)!=-1)if(h)break;else{g=j;break b}else{k[c>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(h){g=0;break}else j=0}g=i[A>>0]|0;g=(g&1)==0?(g&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(a+g|0)){x=0;Fa(8,A|0,g<<1|0,0);l=x;x=0;if(l&1){C=25;break}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);l=x;x=0;if(l&1){C=25;break}a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a+g}h=d+12|0;g=k[h>>2]|0;l=d+16|0;if((g|0)==(k[l>>2]|0)){x=0;g=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=25;break}}else g=k[g>>2]|0;if(tp(g,s,a,t,u,m,B,w,y,q)|0){g=j;break}g=k[h>>2]|0;if((g|0)==(k[l>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=25;break}else{g=d;continue}}else{k[h>>2]=g+4;g=d;continue}}if((C|0)==25){a=Wa()|0;break}D=i[B>>0]|0;if((((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0)!=0?(v=k[y>>2]|0,(v-w|0)<160):0){D=k[u>>2]|0;k[y>>2]=v+4;k[v>>2]=D}x=0;a=Ea(25,a|0,k[t>>2]|0,e|0,s|0)|0;D=x;x=0;if(!(D&1)){k[f>>2]=a;cs(B,w,k[y>>2]|0,e);if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;D=x;x=0;if(D&1){C=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{C=53;break}else{k[c>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?d:0)C=53;if((C|0)==53)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;Sm(A);Sm(B);r=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)a=Wa()|0;Sm(A);Sm(B);fb(a|0);return 0}function Yu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;z=r;r=r+320|0;q=z+208|0;g=z+200|0;B=z+24|0;A=z+12|0;t=z+8|0;w=z+40|0;y=z+4|0;u=z;s=ru(d)|0;xp(B,d,q,g);k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);p=x;x=0;a:do if(!(p&1)){n=A+8|0;o=A+1|0;a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a;k[y>>2]=w;k[u>>2]=0;p=A+4|0;m=k[g>>2]|0;g=k[b>>2]|0;b:while(1){if(g){d=k[g+12>>2]|0;if((d|0)==(k[g+16>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;l=x;x=0;if(l&1){C=25;break}}else d=k[d>>2]|0;if((d|0)==-1){k[b>>2]=0;g=0;j=1}else j=0}else{g=0;j=1}h=k[c>>2]|0;do if(h){d=k[h+12>>2]|0;if((d|0)==(k[h+16>>2]|0)){x=0;d=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;l=x;x=0;if(l&1){C=25;break b}}else d=k[d>>2]|0;if((d|0)!=-1)if(j)break;else break b;else{k[c>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(j){h=0;break}else h=0}d=i[A>>0]|0;d=(d&1)==0?(d&255)>>>1:k[p>>2]|0;if((k[t>>2]|0)==(a+d|0)){x=0;Fa(8,A|0,d<<1|0,0);l=x;x=0;if(l&1){C=25;break}if(!(i[A>>0]&1))a=10;else a=(k[A>>2]&-2)+-1|0;x=0;Fa(8,A|0,a|0,0);l=x;x=0;if(l&1){C=25;break}a=(i[A>>0]&1)==0?o:k[n>>2]|0;k[t>>2]=a+d}j=g+12|0;d=k[j>>2]|0;l=g+16|0;if((d|0)==(k[l>>2]|0)){x=0;d=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=25;break}}else d=k[d>>2]|0;if(tp(d,s,a,t,u,m,B,w,y,q)|0)break;d=k[j>>2]|0;if((d|0)==(k[l>>2]|0)){x=0;ta(k[(k[g>>2]|0)+40>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=25;break}else continue}else{k[j>>2]=d+4;continue}}if((C|0)==25){a=Wa()|0;break}D=i[B>>0]|0;if((((D&1)==0?(D&255)>>>1:k[B+4>>2]|0)|0)!=0?(v=k[y>>2]|0,(v-w|0)<160):0){D=k[u>>2]|0;k[y>>2]=v+4;k[v>>2]=D}x=0;a=Ea(26,a|0,k[t>>2]|0,e|0,s|0)|0;d=M;D=x;x=0;if(!(D&1)){D=f;k[D>>2]=a;k[D+4>>2]=d;cs(B,w,k[y>>2]|0,e);if(g){a=k[g+12>>2]|0;if((a|0)==(k[g+16>>2]|0)){x=0;a=ta(k[(k[g>>2]|0)+36>>2]|0,g|0)|0;D=x;x=0;if(D&1){C=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(h){a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;D=x;x=0;if(D&1){C=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{C=53;break}else{k[c>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?d:0)C=53;if((C|0)==53)k[e>>2]=k[e>>2]|2;D=k[b>>2]|0;Sm(A);Sm(B);r=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)a=Wa()|0;Sm(A);Sm(B);fb(a|0);return 0}function Zu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=r;r=r+352|0;u=D+208|0;h=D+40|0;j=D+36|0;F=D+24|0;E=D+12|0;w=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;v=D+336|0;yp(F,d,u,h,j);k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Fa(8,E|0,a|0,0);t=x;x=0;a:do if(!(t&1)){q=E+8|0;s=E+1|0;a=(i[E>>0]&1)==0?s:k[q>>2]|0;k[w>>2]=a;k[C>>2]=B;k[y>>2]=0;i[z>>0]=1;i[v>>0]=69;t=E+4|0;p=k[h>>2]|0;n=k[j>>2]|0;d=k[b>>2]|0;b:while(1){if(d){h=k[d+12>>2]|0;if((h|0)==(k[d+16>>2]|0)){x=0;h=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;m=x;x=0;if(m&1){G=25;break}}else h=k[h>>2]|0;if((h|0)==-1){k[b>>2]=0;d=0;l=1}else l=0}else{d=0;l=1}h=k[c>>2]|0;do if(h){j=k[h+12>>2]|0;if((j|0)==(k[h+16>>2]|0)){x=0;j=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){G=25;break b}}else j=k[j>>2]|0;if((j|0)!=-1)if(l)break;else break b;else{k[c>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(l){h=0;break}else h=0}j=i[E>>0]|0;j=(j&1)==0?(j&255)>>>1:k[t>>2]|0;if((k[w>>2]|0)==(a+j|0)){x=0;Fa(8,E|0,j<<1|0,0);m=x;x=0;if(m&1){G=25;break}if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Fa(8,E|0,a|0,0);m=x;x=0;if(m&1){G=25;break}a=(i[E>>0]&1)==0?s:k[q>>2]|0;k[w>>2]=a+j}l=d+12|0;j=k[l>>2]|0;m=d+16|0;if((j|0)==(k[m>>2]|0)){x=0;j=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=25;break}}else j=k[j>>2]|0;if(zp(j,z,v,a,w,p,n,F,B,C,y,u)|0)break;h=k[l>>2]|0;if((h|0)==(k[m>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=25;break}else continue}else{k[l>>2]=h+4;continue}}if((G|0)==25){a=Wa()|0;break}H=i[F>>0]|0;if(!((i[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:k[F+4>>2]|0)|0)==0)?(A=k[C>>2]|0,(A-B|0)<160):0){H=k[y>>2]|0;k[C>>2]=A+4;k[A>>2]=H}x=0;g=+Ca(1,a|0,k[w>>2]|0,e|0);H=x;x=0;if(!(H&1)){o[f>>2]=g;cs(F,B,k[C>>2]|0,e);if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(h){a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;H=x;x=0;if(H&1){G=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{G=53;break}else{k[c>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?d:0)G=53;if((G|0)==53)k[e>>2]=k[e>>2]|2;H=k[b>>2]|0;Sm(E);Sm(F);r=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)a=Wa()|0;Sm(E);Sm(F);fb(a|0);return 0}function _u(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=r;r=r+352|0;u=D+208|0;h=D+40|0;j=D+36|0;F=D+24|0;E=D+12|0;w=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;v=D+336|0;yp(F,d,u,h,j);k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Fa(8,E|0,a|0,0);t=x;x=0;a:do if(!(t&1)){q=E+8|0;s=E+1|0;a=(i[E>>0]&1)==0?s:k[q>>2]|0;k[w>>2]=a;k[C>>2]=B;k[y>>2]=0;i[z>>0]=1;i[v>>0]=69;t=E+4|0;o=k[h>>2]|0;n=k[j>>2]|0;d=k[b>>2]|0;b:while(1){if(d){h=k[d+12>>2]|0;if((h|0)==(k[d+16>>2]|0)){x=0;h=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;m=x;x=0;if(m&1){G=25;break}}else h=k[h>>2]|0;if((h|0)==-1){k[b>>2]=0;d=0;l=1}else l=0}else{d=0;l=1}h=k[c>>2]|0;do if(h){j=k[h+12>>2]|0;if((j|0)==(k[h+16>>2]|0)){x=0;j=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){G=25;break b}}else j=k[j>>2]|0;if((j|0)!=-1)if(l)break;else break b;else{k[c>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(l){h=0;break}else h=0}j=i[E>>0]|0;j=(j&1)==0?(j&255)>>>1:k[t>>2]|0;if((k[w>>2]|0)==(a+j|0)){x=0;Fa(8,E|0,j<<1|0,0);m=x;x=0;if(m&1){G=25;break}if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Fa(8,E|0,a|0,0);m=x;x=0;if(m&1){G=25;break}a=(i[E>>0]&1)==0?s:k[q>>2]|0;k[w>>2]=a+j}l=d+12|0;j=k[l>>2]|0;m=d+16|0;if((j|0)==(k[m>>2]|0)){x=0;j=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=25;break}}else j=k[j>>2]|0;if(zp(j,z,v,a,w,o,n,F,B,C,y,u)|0)break;h=k[l>>2]|0;if((h|0)==(k[m>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=25;break}else continue}else{k[l>>2]=h+4;continue}}if((G|0)==25){a=Wa()|0;break}H=i[F>>0]|0;if(!((i[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:k[F+4>>2]|0)|0)==0)?(A=k[C>>2]|0,(A-B|0)<160):0){H=k[y>>2]|0;k[C>>2]=A+4;k[A>>2]=H}x=0;g=+Ca(2,a|0,k[w>>2]|0,e|0);H=x;x=0;if(!(H&1)){p[f>>3]=g;cs(F,B,k[C>>2]|0,e);if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(h){a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;H=x;x=0;if(H&1){G=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{G=53;break}else{k[c>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?d:0)G=53;if((G|0)==53)k[e>>2]=k[e>>2]|2;H=k[b>>2]|0;Sm(E);Sm(F);r=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)a=Wa()|0;Sm(E);Sm(F);fb(a|0);return 0}function $u(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=r;r=r+352|0;u=D+208|0;h=D+40|0;j=D+36|0;F=D+24|0;E=D+12|0;w=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;v=D+336|0;yp(F,d,u,h,j);k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Fa(8,E|0,a|0,0);t=x;x=0;a:do if(!(t&1)){q=E+8|0;s=E+1|0;a=(i[E>>0]&1)==0?s:k[q>>2]|0;k[w>>2]=a;k[C>>2]=B;k[y>>2]=0;i[z>>0]=1;i[v>>0]=69;t=E+4|0;o=k[h>>2]|0;n=k[j>>2]|0;d=k[b>>2]|0;b:while(1){if(d){h=k[d+12>>2]|0;if((h|0)==(k[d+16>>2]|0)){x=0;h=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;m=x;x=0;if(m&1){G=25;break}}else h=k[h>>2]|0;if((h|0)==-1){k[b>>2]=0;d=0;l=1}else l=0}else{d=0;l=1}h=k[c>>2]|0;do if(h){j=k[h+12>>2]|0;if((j|0)==(k[h+16>>2]|0)){x=0;j=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;m=x;x=0;if(m&1){G=25;break b}}else j=k[j>>2]|0;if((j|0)!=-1)if(l)break;else break b;else{k[c>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(l){h=0;break}else h=0}j=i[E>>0]|0;j=(j&1)==0?(j&255)>>>1:k[t>>2]|0;if((k[w>>2]|0)==(a+j|0)){x=0;Fa(8,E|0,j<<1|0,0);m=x;x=0;if(m&1){G=25;break}if(!(i[E>>0]&1))a=10;else a=(k[E>>2]&-2)+-1|0;x=0;Fa(8,E|0,a|0,0);m=x;x=0;if(m&1){G=25;break}a=(i[E>>0]&1)==0?s:k[q>>2]|0;k[w>>2]=a+j}l=d+12|0;j=k[l>>2]|0;m=d+16|0;if((j|0)==(k[m>>2]|0)){x=0;j=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=25;break}}else j=k[j>>2]|0;if(zp(j,z,v,a,w,o,n,F,B,C,y,u)|0)break;h=k[l>>2]|0;if((h|0)==(k[m>>2]|0)){x=0;ta(k[(k[d>>2]|0)+40>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=25;break}else continue}else{k[l>>2]=h+4;continue}}if((G|0)==25){a=Wa()|0;break}H=i[F>>0]|0;if(!((i[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:k[F+4>>2]|0)|0)==0)?(A=k[C>>2]|0,(A-B|0)<160):0){H=k[y>>2]|0;k[C>>2]=A+4;k[A>>2]=H}x=0;g=+Ca(3,a|0,k[w>>2]|0,e|0);H=x;x=0;if(!(H&1)){p[f>>3]=g;cs(F,B,k[C>>2]|0,e);if(d){a=k[d+12>>2]|0;if((a|0)==(k[d+16>>2]|0)){x=0;a=ta(k[(k[d>>2]|0)+36>>2]|0,d|0)|0;H=x;x=0;if(H&1){G=26;break}}else a=k[a>>2]|0;if((a|0)==-1){k[b>>2]=0;d=1}else d=0}else d=1;do if(h){a=k[h+12>>2]|0;if((a|0)==(k[h+16>>2]|0)){x=0;a=ta(k[(k[h>>2]|0)+36>>2]|0,h|0)|0;H=x;x=0;if(H&1){G=26;break a}}else a=k[a>>2]|0;if((a|0)!=-1)if(d)break;else{G=53;break}else{k[c>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?d:0)G=53;if((G|0)==53)k[e>>2]=k[e>>2]|2;H=k[b>>2]|0;Sm(E);Sm(F);r=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)a=Wa()|0;Sm(E);Sm(F);fb(a|0);return 0}function av(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+16|0;g=f;k[g>>2]=e;e=Ak(c)|0;c=ol(a,b,d,g)|0;if((e|0)!=0?(x=0,ta(75,e|0)|0,g=x,x=0,g&1):0){g=Wa(0)|0;oc(g)}r=f;return c|0}function bv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;f=e;k[f>>2]=d;d=Ak(b)|0;x=0;b=va(37,a|0,c|0,f|0)|0;a=x;x=0;if(a&1){b=Wa()|0;if((d|0)!=0?(x=0,ta(75,d|0)|0,f=x,x=0,f&1):0){f=Wa(0)|0;oc(f)}fb(b|0)}else{if((d|0)!=0?(x=0,ta(75,d|0)|0,f=x,x=0,f&1):0){f=Wa(0)|0;oc(f)}r=e;return b|0}return 0}function cv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+16|0;m=n;g=k[a>>2]|0;a:do if(!g)g=0;else{o=b;j=d-o>>2;l=e+12|0;h=k[l>>2]|0;j=(h|0)>(j|0)?h-j|0:0;h=c;o=h-o|0;e=o>>2;if((o|0)>0?(Qb[k[(k[g>>2]|0)+48>>2]&63](g,b,e)|0)!=(e|0):0){k[a>>2]=0;g=0;break}do if((j|0)>0){dn(m,j,f);x=0;e=va(k[(k[g>>2]|0)+48>>2]|0,g|0,((i[m>>0]&1)==0?m+4|0:k[m+8>>2]|0)|0,j|0)|0;o=x;x=0;if(o&1){o=Wa()|0;en(m);fb(o|0)}if((e|0)==(j|0)){en(m);break}else{k[a>>2]=0;en(m);g=0;break a}}while(0);o=d-h|0;d=o>>2;if((o|0)>0?(Qb[k[(k[g>>2]|0)+48>>2]&63](g,c,d)|0)!=(d|0):0){k[a>>2]=0;g=0;break}k[l>>2]=0}while(0);r=n;return g|0}function dv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0;f=k[a>>2]|0;do if(f){if((k[f+12>>2]|0)==(k[f+16>>2]|0))if((Ob[k[(k[f>>2]|0)+36>>2]&127](f)|0)==-1){k[a>>2]=0;f=0;break}else{f=k[a>>2]|0;break}}else f=0;while(0);g=(f|0)==0;f=k[b>>2]|0;do if(f){if((k[f+12>>2]|0)==(k[f+16>>2]|0)?(Ob[k[(k[f>>2]|0)+36>>2]&127](f)|0)==-1:0){k[b>>2]=0;r=11;break}if(g)r=13;else r=12}else r=11;while(0);if((r|0)==11)if(g)r=12;else{f=0;r=13}a:do if((r|0)==12){k[c>>2]=k[c>>2]|6;f=0}else if((r|0)==13){g=k[a>>2]|0;h=k[g+12>>2]|0;if((h|0)==(k[g+16>>2]|0))g=Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0;else g=l[h>>0]|0;h=g&255;if(h<<24>>24>-1?(q=d+8|0,(j[(k[q>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0):0){m=(Qb[k[(k[d>>2]|0)+36>>2]&63](d,h,0)|0)<<24>>24;g=k[a>>2]|0;h=g+12|0;i=k[h>>2]|0;if((i|0)==(k[g+16>>2]|0)){Ob[k[(k[g>>2]|0)+40>>2]&127](g)|0;o=e;n=f;e=f;f=m}else{k[h>>2]=i+1;o=e;n=f;e=f;f=m}while(1){f=f+-48|0;p=o+-1|0;g=k[a>>2]|0;do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0))if((Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0)==-1){k[a>>2]=0;g=0;break}else{g=k[a>>2]|0;break}}else g=0;while(0);i=(g|0)==0;if(e)if((k[e+12>>2]|0)==(k[e+16>>2]|0))if((Ob[k[(k[e>>2]|0)+36>>2]&127](e)|0)==-1){k[b>>2]=0;h=0;e=0}else{h=n;e=n}else h=n;else{h=n;e=0}g=k[a>>2]|0;if(!((o|0)>1&(i^(e|0)==0)))break;i=k[g+12>>2]|0;if((i|0)==(k[g+16>>2]|0))g=Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0;else g=l[i>>0]|0;i=g&255;if(i<<24>>24<=-1)break a;if(!(j[(k[q>>2]|0)+(g<<24>>24<<1)>>1]&2048))break a;f=((Qb[k[(k[d>>2]|0)+36>>2]&63](d,i,0)|0)<<24>>24)+(f*10|0)|0;g=k[a>>2]|0;i=g+12|0;m=k[i>>2]|0;if((m|0)==(k[g+16>>2]|0)){Ob[k[(k[g>>2]|0)+40>>2]&127](g)|0;o=p;n=h;continue}else{k[i>>2]=m+1;o=p;n=h;continue}}do if(g){if((k[g+12>>2]|0)==(k[g+16>>2]|0))if((Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0)==-1){k[a>>2]=0;g=0;break}else{g=k[a>>2]|0;break}}else g=0;while(0);g=(g|0)==0;do if(h){if((k[h+12>>2]|0)==(k[h+16>>2]|0)?(Ob[k[(k[h>>2]|0)+36>>2]&127](h)|0)==-1:0){k[b>>2]=0;r=50;break}if(g)break a}else r=50;while(0);if((r|0)==50?!g:0)break;k[c>>2]=k[c>>2]|2;break}k[c>>2]=k[c>>2]|4;f=0}while(0);return f|0}function ev(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;f=k[a>>2]|0;do if(f){g=k[f+12>>2]|0;if((g|0)==(k[f+16>>2]|0))f=Ob[k[(k[f>>2]|0)+36>>2]&127](f)|0;else f=k[g>>2]|0;if((f|0)==-1){k[a>>2]=0;h=1;break}else{h=(k[a>>2]|0)==0;break}}else h=1;while(0);g=k[b>>2]|0;do if(g){f=k[g+12>>2]|0;if((f|0)==(k[g+16>>2]|0))f=Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0;else f=k[f>>2]|0;if((f|0)!=-1)if(h){o=17;break}else{o=16;break}else{k[b>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(h)o=16;else{g=0;o=17}a:do if((o|0)==16){k[c>>2]=k[c>>2]|6;f=0}else if((o|0)==17){f=k[a>>2]|0;h=k[f+12>>2]|0;if((h|0)==(k[f+16>>2]|0))f=Ob[k[(k[f>>2]|0)+36>>2]&127](f)|0;else f=k[h>>2]|0;if(!(Qb[k[(k[d>>2]|0)+12>>2]&63](d,2048,f)|0)){k[c>>2]=k[c>>2]|4;f=0;break}f=(Qb[k[(k[d>>2]|0)+52>>2]&63](d,f,0)|0)<<24>>24;h=k[a>>2]|0;i=h+12|0;j=k[i>>2]|0;if((j|0)==(k[h+16>>2]|0)){Ob[k[(k[h>>2]|0)+40>>2]&127](h)|0;m=e;l=g;i=g}else{k[i>>2]=j+4;m=e;l=g;i=g}while(1){f=f+-48|0;n=m+-1|0;g=k[a>>2]|0;do if(g){h=k[g+12>>2]|0;if((h|0)==(k[g+16>>2]|0))g=Ob[k[(k[g>>2]|0)+36>>2]&127](g)|0;else g=k[h>>2]|0;if((g|0)==-1){k[a>>2]=0;j=1;break}else{j=(k[a>>2]|0)==0;break}}else j=1;while(0);do if(i){g=k[i+12>>2]|0;if((g|0)==(k[i+16>>2]|0))g=Ob[k[(k[i>>2]|0)+36>>2]&127](i)|0;else g=k[g>>2]|0;if((g|0)==-1){k[b>>2]=0;i=0;e=0;g=1;break}else{i=l;e=l;g=(l|0)==0;break}}else{i=l;e=0;g=1}while(0);h=k[a>>2]|0;if(!((m|0)>1&(j^g)))break;g=k[h+12>>2]|0;if((g|0)==(k[h+16>>2]|0))g=Ob[k[(k[h>>2]|0)+36>>2]&127](h)|0;else g=k[g>>2]|0;if(!(Qb[k[(k[d>>2]|0)+12>>2]&63](d,2048,g)|0))break a;f=((Qb[k[(k[d>>2]|0)+52>>2]&63](d,g,0)|0)<<24>>24)+(f*10|0)|0;g=k[a>>2]|0;h=g+12|0;j=k[h>>2]|0;if((j|0)==(k[g+16>>2]|0)){Ob[k[(k[g>>2]|0)+40>>2]&127](g)|0;m=n;l=i;i=e;continue}else{k[h>>2]=j+4;m=n;l=i;i=e;continue}}do if(h){g=k[h+12>>2]|0;if((g|0)==(k[h+16>>2]|0))g=Ob[k[(k[h>>2]|0)+36>>2]&127](h)|0;else g=k[g>>2]|0;if((g|0)==-1){k[a>>2]=0;h=1;break}else{h=(k[a>>2]|0)==0;break}}else h=1;while(0);do if(i){g=k[i+12>>2]|0;if((g|0)==(k[i+16>>2]|0))g=Ob[k[(k[i>>2]|0)+36>>2]&127](i)|0;else g=k[g>>2]|0;if((g|0)!=-1)if(h)break a;else break;else{k[b>>2]=0;o=60;break}}else o=60;while(0);if((o|0)==60?!h:0)break;k[c>>2]=k[c>>2]|2}while(0);return f|0}function fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=(k[f>>2]|0)!=189;h=k[a>>2]|0;g=h;e=(k[c>>2]|0)-g|0;e=e>>>0<2147483647?e<<1:-1;g=(k[b>>2]|0)-g|0;h=Sl(d?h:0,e)|0;if(!h)ak();do if(!d){d=k[a>>2]|0;k[a>>2]=h;if(d){x=0;qa(k[f>>2]|0,d|0);h=x;x=0;if(h&1){h=Wa(0)|0;oc(h)}else{i=k[a>>2]|0;break}}else i=h}else{k[a>>2]=h;i=h}while(0);k[f>>2]=201;k[b>>2]=i+g;k[c>>2]=(k[a>>2]|0)+e;return}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=(k[f>>2]|0)!=189;h=k[a>>2]|0;g=h;e=(k[c>>2]|0)-g|0;e=e>>>0<2147483647?e<<1:-1;g=(k[b>>2]|0)-g>>2;h=Sl(d?h:0,e)|0;if(!h)ak();do if(!d){d=k[a>>2]|0;k[a>>2]=h;if(d){x=0;qa(k[f>>2]|0,d|0);h=x;x=0;if(h&1){h=Wa(0)|0;oc(h)}else{i=k[a>>2]|0;break}}else i=h}else{k[a>>2]=h;i=h}while(0);k[f>>2]=201;k[b>>2]=i+(g<<2);k[c>>2]=(k[a>>2]|0)+(e>>>2<<2);return}function hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=b;d=i[a>>0]|0;if(!(d&1)){e=10;j=(d&255)>>>1}else{d=k[a>>2]|0;e=(d&-2)+-1|0;j=k[a+4>>2]|0;d=d&255}h=c-f|0;do if((c|0)!=(b|0)){if((e-j|0)>>>0>>0){bn(a,e,j+h-e|0,j,j,0,0);d=i[a>>0]|0}if(!(d&1))g=a+1|0;else g=k[a+8>>2]|0;f=c+(j-f)|0;if((b|0)!=(c|0)){d=b;e=g+j|0;while(1){i[e>>0]=i[d>>0]|0;d=d+1|0;if((d|0)==(c|0))break;else e=e+1|0}}i[g+f>>0]=0;d=j+h|0;if(!(i[a>>0]&1)){i[a>>0]=d<<1;break}else{k[a+4>>2]=d;break}}while(0);return a|0}function iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=(k[f>>2]|0)!=189;h=k[a>>2]|0;g=h;e=(k[c>>2]|0)-g|0;e=e>>>0<2147483647?e<<1:-1;g=(k[b>>2]|0)-g>>2;h=Sl(d?h:0,e)|0;if(!h)ak();do if(!d){d=k[a>>2]|0;k[a>>2]=h;if(d){x=0;qa(k[f>>2]|0,d|0);h=x;x=0;if(h&1){h=Wa(0)|0;oc(h)}else{i=k[a>>2]|0;break}}else i=h}else{k[a>>2]=h;i=h}while(0);k[f>>2]=201;k[b>>2]=i+(g<<2);k[c>>2]=(k[a>>2]|0)+(e>>>2<<2);return}function jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=b;d=i[a>>0]|0;if(!(d&1)){e=1;j=(d&255)>>>1}else{d=k[a>>2]|0;e=(d&-2)+-1|0;j=k[a+4>>2]|0;d=d&255}h=c-f>>2;do if(h){if((e-j|0)>>>0>>0){ln(a,e,j+h-e|0,j,j,0,0);d=i[a>>0]|0}if(!(d&1))g=a+4|0;else g=k[a+8>>2]|0;f=j+((c-f|0)>>>2)|0;if((b|0)!=(c|0)){d=b;e=g+(j<<2)|0;while(1){k[e>>2]=k[d>>2];d=d+4|0;if((d|0)==(c|0))break;else e=e+4|0}}k[g+(f<<2)>>2]=0;d=j+h|0;if(!(i[a>>0]&1)){i[a>>0]=d<<1;break}else{k[a+4>>2]=d;break}}while(0);return a|0}function kv(a,b){a=a|0;b=b|0;var c=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;i[a+128>>0]=0;do if(b){x=0;ra(125,a|0,b|0);c=x;x=0;if(c&1){c=Wa()|0;Nv(a);fb(c|0)}else{cw(a,b);break}}while(0);return}function lv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43148)|0);return}function mv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43188)|0);return}function nv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44220)|0);return}function ov(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44212)|0);return}function pv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44280)|0);return}function qv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44288)|0);return}function rv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44344)|0);return}function sv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44352)|0);return}function tv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44360)|0);return}function uv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44368)|0);return}function vv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43260)|0);return}function wv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43332)|0);return}function xv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43392)|0);return}function yv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43452)|0);return}function zv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43764)|0);return}function Av(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43828)|0);return}function Bv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43892)|0);return}function Cv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43956)|0);return}function Dv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43992)|0);return}function Ev(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44028)|0);return}function Fv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44064)|0);return}function Gv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44100)|0);return}function Hv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43544)|0);return}function Iv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43636)|0);return}function Jv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43668)|0);return}function Kv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(43700)|0);return}function Lv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44140)|0);return}function Mv(a,b){a=a|0;b=b|0;Hs(a,b,Rs(44180)|0);return}function Nv(a){a=a|0;var b=0,c=0,d=0;c=k[a>>2]|0;do if(c){d=a+4|0;b=k[d>>2]|0;if((b|0)!=(c|0)){do b=b+-4|0;while((b|0)!=(c|0));k[d>>2]=b}if((a+16|0)==(c|0)){i[a+128>>0]=0;break}else{mj(c);break}}while(0);return}function Ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0?(f=d+(b<<2)|0,(c|0)!=(f|0)):0){do c=c+-4|0;while((c|0)!=(f|0));k[g>>2]=c}}else bw(a,b-e|0);return}function Pv(a,b){a=a|0;b=b|0;var c=0;c=k[a+8>>2]|0;if((k[a+12>>2]|0)-c>>2>>>0>b>>>0)c=(k[c+(b<<2)>>2]|0)!=0;else c=0;return c|0}function Qv(a){a=a|0;var b=0,c=0;c=a+4|0;b=k[c>>2]|0;c=k[c+4>>2]|0;a=(k[a>>2]|0)+(c>>1)|0;if(c&1)b=k[(k[a>>2]|0)+b>>2]|0;Lb[b&255](a);return}function Rv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,n=0;k[c>>2]=a;k[f>>2]=d;if(h&2)if((e-d|0)<3)a=1;else{k[f>>2]=d+1;i[d>>0]=-17;l=k[f>>2]|0;k[f>>2]=l+1;i[l>>0]=-69;l=k[f>>2]|0;k[f>>2]=l+1;i[l>>0]=-65;l=4}else l=4;a:do if((l|0)==4){n=b;a=k[c>>2]|0;if(a>>>0>>0)while(1){h=j[a>>1]|0;l=h&65535;if(l>>>0>g>>>0){a=2;break a}do if((h&65535)<128){a=k[f>>2]|0;if((e-a|0)<1){a=1;break a}k[f>>2]=a+1;i[a>>0]=h}else{if((h&65535)<2048){a=k[f>>2]|0;if((e-a|0)<2){a=1;break a}k[f>>2]=a+1;i[a>>0]=l>>>6|192;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l&63|128;break}if((h&65535)<55296){a=k[f>>2]|0;if((e-a|0)<3){a=1;break a}k[f>>2]=a+1;i[a>>0]=l>>>12|224;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l>>>6&63|128;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){a=2;break a}a=k[f>>2]|0;if((e-a|0)<3){a=1;break a}k[f>>2]=a+1;i[a>>0]=l>>>12|224;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l>>>6&63|128;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l&63|128;break}if((n-a|0)<4){a=1;break a}a=a+2|0;h=m[a>>1]|0;if((h&64512|0)!=56320){a=2;break a}if((e-(k[f>>2]|0)|0)<4){a=1;break a}d=l&960;if(((d<<10)+65536|l<<10&64512|h&1023)>>>0>g>>>0){a=2;break a}k[c>>2]=a;a=(d>>>6)+1|0;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=a>>>2|240;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l>>>2&15|a<<4&48|128;d=k[f>>2]|0;k[f>>2]=d+1;i[d>>0]=l<<4&48|h>>>6&15|128;l=k[f>>2]|0;k[f>>2]=l+1;i[l>>0]=h&63|128}while(0);a=(k[c>>2]|0)+2|0;k[c>>2]=a;if(a>>>0>=b>>>0){a=0;break}}else a=0}while(0);return a|0}function Sv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,r=0;k[c>>2]=a;k[f>>2]=d;if(h&4){a=k[c>>2]|0;h=b;if((((h-a|0)>2?(i[a>>0]|0)==-17:0)?(i[a+1>>0]|0)==-69:0)?(i[a+2>>0]|0)==-65:0){k[c>>2]=a+3;m=k[f>>2]|0}else m=d}else{m=d;h=b}q=e;d=k[c>>2]|0;a=d>>>0>>0;a:do if(a&m>>>0>>0)while(1){a=i[d>>0]|0;o=a&255;if(o>>>0>g>>>0){a=2;break a}do if(a<<24>>24>-1){j[m>>1]=a&255;k[c>>2]=d+1}else{if((a&255)<194){a=2;break a}if((a&255)<224){if((h-d|0)<2){a=1;break a}a=l[d+1>>0]|0;if((a&192|0)!=128){a=2;break a}a=a&63|o<<6&1984;if(a>>>0>g>>>0){a=2;break a}j[m>>1]=a;k[c>>2]=d+2;break}if((a&255)<240){if((h-d|0)<3){a=1;break a}n=i[d+1>>0]|0;a=i[d+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){a=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){a=2;break a}break}default:if((n&-64)<<24>>24!=-128){a=2;break a}}a=a&255;if((a&192|0)!=128){a=2;break a}a=(n&255)<<6&4032|o<<12|a&63;if((a&65535)>>>0>g>>>0){a=2;break a}j[m>>1]=a;k[c>>2]=d+3;break}if((a&255)>=245){a=2;break a}if((h-d|0)<4){a=1;break a}n=i[d+1>>0]|0;a=i[d+2>>0]|0;d=i[d+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){a=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){a=2;break a}break}default:if((n&-64)<<24>>24!=-128){a=2;break a}}p=a&255;if((p&192|0)!=128){a=2;break a}a=d&255;if((a&192|0)!=128){a=2;break a}if((q-m|0)<4){a=1;break a}o=o&7;d=n&255;n=p<<6;a=a&63;if((d<<12&258048|o<<18|n&4032|a)>>>0>g>>>0){a=2;break a}j[m>>1]=d<<2&60|p>>>4&3|((d>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;k[f>>2]=p;j[p>>1]=a|n&960|56320;k[c>>2]=(k[c>>2]|0)+4}while(0);m=(k[f>>2]|0)+2|0;k[f>>2]=m;d=k[c>>2]|0;a=d>>>0>>0;if(!(a&m>>>0>>0)){r=39;break}}else r=39;while(0);if((r|0)==39)a=a&1;return a|0}function Tv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,m=0,n=0;n=b;if((((e&4|0)!=0?(n-a|0)>2:0)?(i[a>>0]|0)==-17:0)?(i[a+1>>0]|0)==-69:0)e=(i[a+2>>0]|0)==-65?a+3|0:a;else e=a;a:do if((c|0)!=0&e>>>0>>0){m=e;f=0;b:while(1){e=i[m>>0]|0;k=e&255;if(k>>>0>d>>>0){e=m;f=42;break a}do if(e<<24>>24>-1)e=m+1|0;else{if((e&255)<194){e=m;f=42;break a}if((e&255)<224){if((n-m|0)<2){e=m;f=42;break a}e=l[m+1>>0]|0;if((e&192|0)!=128){e=m;f=42;break a}if((e&63|k<<6&1984)>>>0>d>>>0){e=m;f=42;break a}e=m+2|0;break}if((e&255)<240){e=m;if((n-e|0)<3){e=m;f=42;break a}h=i[m+1>>0]|0;g=i[m+2>>0]|0;switch(k|0){case 224:{if((h&-32)<<24>>24!=-96){f=20;break b}break}case 237:{if((h&-32)<<24>>24!=-128){f=22;break b}break}default:if((h&-64)<<24>>24!=-128){f=24;break b}}e=g&255;if((e&192|0)!=128){e=m;f=42;break a}if(((h&255)<<6&4032|k<<12&61440|e&63)>>>0>d>>>0){e=m;f=42;break a}e=m+3|0;break}if((e&255)>=245){e=m;f=42;break a}e=m;if((c-f|0)>>>0<2|(n-e|0)<4){e=m;f=42;break a}j=i[m+1>>0]|0;g=i[m+2>>0]|0;h=i[m+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){f=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){f=34;break b}break}default:if((j&-64)<<24>>24!=-128){f=36;break b}}g=g&255;if((g&192|0)!=128){e=m;f=42;break a}e=h&255;if((e&192|0)!=128){e=m;f=42;break a}if(((j&255)<<12&258048|k<<18&1835008|g<<6&4032|e&63)>>>0>d>>>0){e=m;f=42;break a}e=m+4|0;f=f+1|0}while(0);f=f+1|0;if(!(f>>>0>>0&e>>>0>>0)){f=42;break a}else m=e}if((f|0)==20){e=e-a|0;break}else if((f|0)==22){e=e-a|0;break}else if((f|0)==24){e=e-a|0;break}else if((f|0)==32){e=e-a|0;break}else if((f|0)==34){e=e-a|0;break}else if((f|0)==36){e=e-a|0;break}}else f=42;while(0);if((f|0)==42)e=e-a|0;return e|0}function Uv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0;k[c>>2]=a;k[f>>2]=d;l=e;if(h&2)if((l-d|0)<3)a=1;else{k[f>>2]=d+1;i[d>>0]=-17;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=-69;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=-65;j=4}else j=4;a:do if((j|0)==4){a=k[c>>2]|0;if(a>>>0>>0)while(1){h=k[a>>2]|0;if(h>>>0>g>>>0|(h&-2048|0)==55296){a=2;break a}do if(h>>>0>=128){if(h>>>0<2048){a=k[f>>2]|0;if((l-a|0)<2){a=1;break a}k[f>>2]=a+1;i[a>>0]=h>>>6|192;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h&63|128;break}a=k[f>>2]|0;e=l-a|0;if(h>>>0<65536){if((e|0)<3){a=1;break a}k[f>>2]=a+1;i[a>>0]=h>>>12|224;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h>>>6&63|128;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h&63|128;break}else{if((e|0)<4){a=1;break a}k[f>>2]=a+1;i[a>>0]=h>>>18|240;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h>>>12&63|128;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h>>>6&63|128;j=k[f>>2]|0;k[f>>2]=j+1;i[j>>0]=h&63|128;break}}else{a=k[f>>2]|0;if((l-a|0)<1){a=1;break a}k[f>>2]=a+1;i[a>>0]=h}while(0);a=(k[c>>2]|0)+4|0;k[c>>2]=a;if(a>>>0>=b>>>0){a=0;break}}else a=0}while(0);return a|0}function Vv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0;k[c>>2]=a;k[f>>2]=d;if(h&4){a=k[c>>2]|0;h=b;if((((h-a|0)>2?(i[a>>0]|0)==-17:0)?(i[a+1>>0]|0)==-69:0)?(i[a+2>>0]|0)==-65:0){k[c>>2]=a+3;d=k[f>>2]|0;p=h}else p=h}else p=b;h=k[c>>2]|0;a=h>>>0>>0;a:do if(a&d>>>0>>0)while(1){a=i[h>>0]|0;o=a&255;do if(a<<24>>24>-1){if(o>>>0>g>>>0){a=2;break a}k[d>>2]=o;k[c>>2]=h+1}else{if((a&255)<194){a=2;break a}if((a&255)<224){if((p-h|0)<2){a=1;break a}a=l[h+1>>0]|0;if((a&192|0)!=128){a=2;break a}a=a&63|o<<6&1984;if(a>>>0>g>>>0){a=2;break a}k[d>>2]=a;k[c>>2]=h+2;break}if((a&255)<240){if((p-h|0)<3){a=1;break a}j=i[h+1>>0]|0;a=i[h+2>>0]|0;switch(o|0){case 224:{if((j&-32)<<24>>24!=-96){a=2;break a}break}case 237:{if((j&-32)<<24>>24!=-128){a=2;break a}break}default:if((j&-64)<<24>>24!=-128){a=2;break a}}a=a&255;if((a&192|0)!=128){a=2;break a}a=(j&255)<<6&4032|o<<12&61440|a&63;if(a>>>0>g>>>0){a=2;break a}k[d>>2]=a;k[c>>2]=h+3;break}if((a&255)>=245){a=2;break a}if((p-h|0)<4){a=1;break a}n=i[h+1>>0]|0;a=i[h+2>>0]|0;j=i[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){a=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){a=2;break a}break}default:if((n&-64)<<24>>24!=-128){a=2;break a}}m=a&255;if((m&192|0)!=128){a=2;break a}a=j&255;if((a&192|0)!=128){a=2;break a}a=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|a&63;if(a>>>0>g>>>0){a=2;break a}k[d>>2]=a;k[c>>2]=h+4}while(0);d=(k[f>>2]|0)+4|0;k[f>>2]=d;h=k[c>>2]|0;a=h>>>0>>0;if(!(a&d>>>0>>0)){q=38;break}}else q=38;while(0);if((q|0)==38)a=a&1;return a|0}function Wv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,m=0,n=0;n=b;if((((e&4|0)!=0?(n-a|0)>2:0)?(i[a>>0]|0)==-17:0)?(i[a+1>>0]|0)==-69:0)e=(i[a+2>>0]|0)==-65?a+3|0:a;else e=a;a:do if((c|0)!=0&e>>>0>>0){k=e;m=0;b:while(1){e=i[k>>0]|0;j=e&255;do if(e<<24>>24>-1){if(j>>>0>d>>>0){e=k;f=42;break a}e=k+1|0}else{if((e&255)<194){e=k;f=42;break a}if((e&255)<224){if((n-k|0)<2){e=k;f=42;break a}e=l[k+1>>0]|0;if((e&192|0)!=128){e=k;f=42;break a}if((e&63|j<<6&1984)>>>0>d>>>0){e=k;f=42;break a}e=k+2|0;break}if((e&255)<240){e=k;if((n-e|0)<3){e=k;f=42;break a}g=i[k+1>>0]|0;f=i[k+2>>0]|0;switch(j|0){case 224:{if((g&-32)<<24>>24!=-96){f=20;break b}break}case 237:{if((g&-32)<<24>>24!=-128){f=22;break b}break}default:if((g&-64)<<24>>24!=-128){f=24;break b}}e=f&255;if((e&192|0)!=128){e=k;f=42;break a}if(((g&255)<<6&4032|j<<12&61440|e&63)>>>0>d>>>0){e=k;f=42;break a}e=k+3|0;break}if((e&255)>=245){e=k;f=42;break a}e=k;if((n-e|0)<4){e=k;f=42;break a}h=i[k+1>>0]|0;f=i[k+2>>0]|0;g=i[k+3>>0]|0;switch(j|0){case 240:{if((h+112&255)>=48){f=32;break b}break}case 244:{if((h&-16)<<24>>24!=-128){f=34;break b}break}default:if((h&-64)<<24>>24!=-128){f=36;break b}}f=f&255;if((f&192|0)!=128){e=k;f=42;break a}e=g&255;if((e&192|0)!=128){e=k;f=42;break a}if(((h&255)<<12&258048|j<<18&1835008|f<<6&4032|e&63)>>>0>d>>>0){e=k;f=42;break a}e=k+4|0}while(0);m=m+1|0;if(!(m>>>0>>0&e>>>0>>0)){f=42;break a}else k=e}if((f|0)==20){e=e-a|0;break}else if((f|0)==22){e=e-a|0;break}else if((f|0)==24){e=e-a|0;break}else if((f|0)==32){e=e-a|0;break}else if((f|0)==34){e=e-a|0;break}else if((f|0)==36){e=e-a|0;break}}else f=42;while(0);if((f|0)==42)e=e-a|0;return e|0}function Xv(a){a=a|0;Sm(45196);Sm(45184);Sm(45172);Sm(45160);Sm(45148);Sm(45136);Sm(45124);Sm(45112);Sm(45100);Sm(45088);Sm(45076);Sm(45064);Sm(45052);Sm(45040);return}function Yv(a){a=a|0;en(45368);en(45356);en(45344);en(45332);en(45320);en(45308);en(45296);en(45284);en(45272);en(45260);en(45248);en(45236);en(45224);en(45212);return}function Zv(a){a=a|0;Sm(46e3);Sm(45988);Sm(45976);Sm(45964);Sm(45952);Sm(45940);Sm(45928);Sm(45916);Sm(45904);Sm(45892);Sm(45880);Sm(45868);Sm(45856);Sm(45844);Sm(45832);Sm(45820);Sm(45808);Sm(45796);Sm(45784);Sm(45772);Sm(45760);Sm(45748);Sm(45736);Sm(45724);return}function _v(a){a=a|0;en(46292);en(46280);en(46268);en(46256);en(46244);en(46232);en(46220);en(46208);en(46196);en(46184);en(46172);en(46160);en(46148);en(46136);en(46124);en(46112);en(46100);en(46088);en(46076);en(46064);en(46052);en(46040);en(46028);en(46016);return}function $v(a){a=a|0;Sm(47104);Sm(47092);Sm(47080);Sm(47068);Sm(47056);Sm(47044);Sm(47032);Sm(47020);Sm(47008);Sm(46996);Sm(46984);Sm(46972);Sm(46960);Sm(46948);Sm(46936);Sm(46924);Sm(46912);Sm(46900);Sm(46888);Sm(46876);Sm(46864);Sm(46852);Sm(46840);Sm(46828);return}function aw(a){a=a|0;en(47396);en(47384);en(47372);en(47360);en(47348);en(47336);en(47324);en(47312);en(47300);en(47288);en(47276);en(47264);en(47252);en(47240);en(47228);en(47216);en(47204);en(47192);en(47180);en(47168);en(47156);en(47144);en(47132);en(47120);return}function bw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i;f=k[a+8>>2]|0;c=k[a+4>>2]|0;if(f-c>>2>>>0>>0){d=k[a>>2]|0;g=c-d>>2;e=g+b|0;if(e>>>0>1073741823)jj(a);c=f-d|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c}else c=1073741823;dw(h,c,g,a+16|0);g=h+8|0;f=k[g>>2]|0;sw(f|0,0,b<<2|0)|0;k[g>>2]=f+(b<<2);ew(a,h);fw(h)}else cw(a,b);r=i;return}function cw(a,b){a=a|0;b=b|0;var c=0;c=a+4|0;a=b;b=k[c>>2]|0;do{k[b>>2]=0;b=(k[c>>2]|0)+4|0;k[c>>2]=b;a=a+-1|0}while((a|0)!=0);return}function dw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;k[a+12>>2]=0;k[a+16>>2]=d;do if(b){e=d+112|0;if(b>>>0<29&(i[e>>0]|0)==0){i[e>>0]=1;break}else{d=lj(b<<2)|0;break}}else d=0;while(0);k[a>>2]=d;c=d+(c<<2)|0;k[a+8>>2]=c;k[a+4>>2]=c;k[a+12>>2]=d+(b<<2);return}function ew(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=k[a>>2]|0;f=a+4|0;c=b+4|0;e=(k[f>>2]|0)-d|0;g=(k[c>>2]|0)+(0-(e>>2)<<2)|0;k[c>>2]=g;vw(g|0,d|0,e|0)|0;e=k[a>>2]|0;k[a>>2]=k[c>>2];k[c>>2]=e;e=b+8|0;d=k[f>>2]|0;k[f>>2]=k[e>>2];k[e>>2]=d;e=a+8|0;a=b+12|0;d=k[e>>2]|0;k[e>>2]=k[a>>2];k[a>>2]=d;k[b>>2]=k[c>>2];return}function fw(a){a=a|0;var b=0,c=0,d=0;c=k[a+4>>2]|0;d=a+8|0;b=k[d>>2]|0;if((b|0)!=(c|0)){do b=b+-4|0;while((b|0)!=(c|0));k[d>>2]=b}c=k[a>>2]|0;do if(c){b=k[a+16>>2]|0;if((b|0)==(c|0)){i[b+112>>0]=0;break}else{mj(c);break}}while(0);return}function gw(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>1073741823)jj(a);c=a+128|0;if(b>>>0<29&(i[c>>0]|0)==0){i[c>>0]=1;c=a+16|0}else c=lj(b<<2)|0;k[a+4>>2]=c;k[a>>2]=c;k[a+8>>2]=c+(b<<2);return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;do if((a|0)!=(b|0)){e=mk()|0;f=k[e>>2]|0;k[e>>2]=0;d=+ql(a,g,fp()|0);a=k[e>>2]|0;if(!a)k[e>>2]=f;if((k[g>>2]|0)!=(b|0)){k[c>>2]=4;d=0.0;break}if((a|0)==34)k[c>>2]=4}else{k[c>>2]=4;d=0.0}while(0);r=h;return +d}function iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;do if((a|0)!=(b|0)){e=mk()|0;f=k[e>>2]|0;k[e>>2]=0;d=+ql(a,g,fp()|0);a=k[e>>2]|0;if(!a)k[e>>2]=f;if((k[g>>2]|0)!=(b|0)){k[c>>2]=4;d=0.0;break}if((a|0)==34)k[c>>2]=4}else{k[c>>2]=4;d=0.0}while(0);r=h;return +d}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;do if((a|0)==(b|0)){k[c>>2]=4;d=0.0}else{e=mk()|0;f=k[e>>2]|0;k[e>>2]=0;d=+ql(a,g,fp()|0);a=k[e>>2]|0;if(!a)k[e>>2]=f;if((k[g>>2]|0)!=(b|0)){k[c>>2]=4;d=0.0;break}if((a|0)==34)k[c>>2]=4}while(0);r=h;return +d}function kw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;do if((a|0)!=(b|0)){if((i[a>>0]|0)==45){k[c>>2]=4;d=0;a=0;break}e=mk()|0;f=k[e>>2]|0;k[e>>2]=0;a=fk(a,g,d,fp()|0)|0;d=k[e>>2]|0;if(!d)k[e>>2]=f;if((k[g>>2]|0)!=(b|0)){k[c>>2]=4;d=0;a=0;break}if((d|0)==34){k[c>>2]=4;d=-1;a=-1}else d=M}else{k[c>>2]=4;d=0;a=0}while(0);M=d;r=h;return a|0}function lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;do if((a|0)!=(b|0)){if((i[a>>0]|0)==45){k[c>>2]=4;a=0;break}f=mk()|0;g=k[f>>2]|0;k[f>>2]=0;a=fk(a,h,d,fp()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;if((k[h>>2]|0)!=(b|0)){k[c>>2]=4;a=0;break}if(d>>>0>0|(d|0)==0&a>>>0>4294967295|(e|0)==34){k[c>>2]=4;a=-1;break}else break}else{k[c>>2]=4;a=0}while(0);r=j;return a|0}function mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;do if((a|0)!=(b|0)){if((i[a>>0]|0)==45){k[c>>2]=4;a=0;break}f=mk()|0;g=k[f>>2]|0;k[f>>2]=0;a=fk(a,h,d,fp()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;if((k[h>>2]|0)!=(b|0)){k[c>>2]=4;a=0;break}if(d>>>0>0|(d|0)==0&a>>>0>4294967295|(e|0)==34){k[c>>2]=4;a=-1;break}else break}else{k[c>>2]=4;a=0}while(0);r=j;return a|0}function nw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;do if((a|0)!=(b|0)){if((i[a>>0]|0)==45){k[c>>2]=4;a=0;break}f=mk()|0;g=k[f>>2]|0;k[f>>2]=0;a=fk(a,h,d,fp()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;if((k[h>>2]|0)!=(b|0)){k[c>>2]=4;a=0;break}if(d>>>0>0|(d|0)==0&a>>>0>65535|(e|0)==34){k[c>>2]=4;a=-1;break}else{a=a&65535;break}}else{k[c>>2]=4;a=0}while(0);r=j;return a|0}function ow(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;do if((a|0)!=(b|0)){f=mk()|0;g=k[f>>2]|0;k[f>>2]=0;a=gk(a,h,d,fp()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;if((k[h>>2]|0)!=(b|0)){k[c>>2]=4;d=0;a=0;break}if((e|0)==34){k[c>>2]=4;h=(d|0)>0|(d|0)==0&a>>>0>0;M=h?2147483647:-2147483648;r=i;return (h?-1:0)|0}}else{k[c>>2]=4;d=0;a=0}while(0);M=d;r=i;return a|0}function pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;a:do if((a|0)==(b|0)){k[c>>2]=4;a=0}else{f=mk()|0;g=k[f>>2]|0;k[f>>2]=0;a=gk(a,h,d,fp()|0)|0;d=M;e=k[f>>2]|0;if(!e)k[f>>2]=g;if((k[h>>2]|0)!=(b|0)){k[c>>2]=4;a=0;break}do if((e|0)==34){k[c>>2]=4;if((d|0)>0|(d|0)==0&a>>>0>0){a=2147483647;break a}}else{if((d|0)<-1|(d|0)==-1&a>>>0<2147483648){k[c>>2]=4;break}if((d|0)>0|(d|0)==0&a>>>0>2147483647){k[c>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}while(0);r=i;return a|0}function qw(){}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (M=d,a-c>>>0|0)|0}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (M=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function uw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>>c;return a>>>c|(b&(1<>>c-32|0}function vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return db(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function ww(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b<>>32-c;return a<0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else vw(a,b,c)|0;return a|0}function yw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>c;return a>>>c|(b&(1<>c-32|0}function zw(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function Aw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ia(e,f)|0;d=a>>>16;a=(c>>>16)+(ia(e,d)|0)|0;e=b>>>16;b=ia(e,f)|0;return (M=(a>>>16)+(ia(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Bw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=rw(j^a,i^b,j,i)|0;g=M;a=f^j;b=e^i;return rw((Gw(h,g,rw(f^c,e^d,f,e)|0,M,0)|0)^a,M^b,a,b)|0}function Cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=rw(g^a,f^b,g,f)|0;b=M;Gw(a,b,rw(j^c,i^d,j,i)|0,M,h)|0;d=rw(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;c=M;r=e;return (M=c,d)|0}function Dw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Aw(e,f)|0;a=M;return (M=(ia(b,f)|0)+(ia(d,e)|0)+a|a&0,c|0|0)|0}function Ew(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gw(a,b,c,d,0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;Gw(a,b,c,d,e)|0;r=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function Gw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (M=n,e)|0}else{if(!f){n=0;e=0;return (M=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (M=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ka(h|0)|0)-(ka(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}f=g-1|0;if(f&g){h=(ka(g|0)|0)+33-(ka(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (M=o,p)|0}else{p=zw(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (M=o,p)|0}}else{if(f){if(e){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (M=o,p)|0}if(!l){if(e){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (M=o,p)|0}f=h-1|0;if(!(f&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((zw(h|0)|0)>>>0);return (M=o,p)|0}f=(ka(h|0)|0)-(ka(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (M=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=tw(m|0,l|0,-1,-1)|0;c=M;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;rw(j,c,d,n)|0;p=M;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=rw(d,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=M;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (M=o,p)|0}function Hw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function Iw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Jb[a&15](b|0,c|0,d|0,e|0,f|0)}function Jw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Kb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Kw(a,b){a=a|0;b=b|0;Lb[a&255](b|0)}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;Mb[a&127](b|0,c|0)}function Mw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Nb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Nw(a,b){a=a|0;b=b|0;return Ob[a&127](b|0)|0}function Ow(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Pb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb[a&63](b|0,c|0,d|0)|0}function Qw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;Rb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)}function Rw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Sw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Tb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Tw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Ub[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Uw(a,b,c){a=a|0;b=b|0;c=c|0;return Vb[a&63](b|0,c|0)|0}function Vw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Xb[a&3](b|0,c|0,d|0)}function Xw(a){a=a|0;return Yb[a&15]()|0}function Yw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zb[a&31](b|0,c|0,d|0,e|0)|0}function Zw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;_b[a&15](b|0,c|0,d|0)}function _w(a){a=a|0;$b[a&7]()}function $w(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ac[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function ax(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return bc[a&7](b|0,c|0,d|0,e|0,+f)|0}function bx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;cc[a&63](b|0,c|0,d|0,e|0)}function cx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;la(0);return 0}function dx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(1)}function ex(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;la(2);return 0}function fx(a){a=a|0;la(3)}function gx(a,b){a=a|0;b=b|0;la(4)}function hx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(5);return 0}function ix(a){a=a|0;la(6);return 0}function jx(a){a=a|0;return lb(a|0)|0}function kx(a){a=a|0;return Ab(a|0)|0}function lx(a){a=a|0;return qb(a|0)|0}function mx(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;la(7);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;la(8);return 0}function ox(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;la(9)}function px(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(10)}function qx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;la(11)}function rx(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;la(12)}function sx(a,b){a=a|0;b=b|0;la(13);return 0}function tx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;la(14);return 0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;la(15);return 0.0}function vx(){la(16);return 0}function wx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;la(17);return 0}function xx(a,b,c){a=a|0;b=b|0;c=c|0;la(18)}function yx(a,b,c){a=a|0;b=b|0;c=c|0;ub(a|0,b|0,c|0)}function zx(){la(19)}function Ax(){yb()}function Bx(){eb()}function Cx(){vb()}function Dx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;la(20);return 0}function Ex(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(21);return 0}function Fx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;la(22)}\nfunction ni(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;h=l;Oi(h,255,0);j=a+152|0;if(((k[h+4>>2]|0)==(k[j>>2]|0)?(k[h+8>>2]|0)==(k[a+156>>2]|0):0)?(k[h+12>>2]|0)==(k[a+160>>2]|0):0){j=k[8900]|0;k[a+4580>>2]=j+(((k[8901]|0)-j|0)>>>1);r=l;return}c=a+4584|0;d=a+4588|0;e=k[d>>2]|0;b=k[c>>2]|0;f=e-b|0;if(f>>>0>=512){if(f>>>0>512?(g=b+512|0,(e|0)!=(g|0)):0)k[d>>2]=g}else{se(c,512-f|0);b=k[c>>2]|0}h=a+4580|0;k[h>>2]=b+256;g=a+160|0;e=a+156|0;f=-256;while(1){b=k[g>>2]|0;if((f|0)>(0-b|0)){c=k[e>>2]|0;if((f|0)>(0-c|0)){d=k[j>>2]|0;if((f|0)>(0-d|0))if((f|0)>=0){if((f|0)<1){i[(k[h>>2]|0)+f>>0]=0;f=1;continue}if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1}else b=-1;else b=-2}else b=-3}else b=-4;i[(k[h>>2]|0)+f>>0]=b;f=f+1|0;if((f|0)==256)break}r=l;return}function oi(a){a=a|0;var b=0,c=0;k[a>>2]=35660;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}a=a+88|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Lb[k[(k[b>>2]|0)+4>>2]&255](b);return}function pi(a){a=a|0;var b=0,c=0;k[a>>2]=35660;b=k[a+4608>>2]|0;if(b){c=a+4612|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}k[a>>2]=36736;b=k[a+92>>2]|0;if(b){c=a+96|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b)}c=a+88|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){mj(a);return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);mj(a);return}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,y=0,z=0;u=r;r=r+352|0;v=u+328|0;y=u+192|0;c=u+343|0;d=u+342|0;e=u+341|0;f=u+340|0;o=u+176|0;h=u+168|0;j=u+160|0;l=u+152|0;t=u;q=u+136|0;if((k[a+28>>2]|0)!=0?(k[a+20>>2]|0)!=1:0){p=a+4|0;s=a+32|0;g=k[s>>2]|0;if(!g){a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[c>>0]|0;Ja(44,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}a=k[a+12>>2]|0;if((a|0)==8)switch(g|0){case 1:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[d>>0]|0;Ja(45,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[e>>0]|0;Ja(46,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(48)|0;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];i[v>>0]=i[f>>0]|0;Ja(47,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=y+56|0;e=y+4|0;k[y>>2]=36160;k[g>>2]=36180;x=0;ra(62,y+56|0,e|0);u=x;x=0;if(u&1){z=Wa()|0;qn(g);fb(z|0)}k[y+128>>2]=0;k[y+132>>2]=-1;k[y>>2]=36200;k[y+56>>2]=36220;x=0;qa(180,e|0);u=x;x=0;do if(u&1)a=Wa()|0;else{k[e>>2]=36236;f=y+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[y+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);u=x;x=0;if(u&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,y|0,49007,21)|0;v=x;x=0;do if((!(v&1)?(x=0,m=Aa(36,a|0,k[s>>2]|0)|0,v=x,x=0,!(v&1)):0)?(x=0,va(28,m|0,50997,18)|0,v=x,x=0,!(v&1)):0){d=Va(16)|0;x=0;ra(64,o|0,e|0);v=x;x=0;if(!(v&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,o|0);v=x;x=0;if(v&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(o);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=34;while(0);if((z|0)==34)a=Wa()|0;k[y>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}if((a|0)<=8){a=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,a|0,8,35648);z=x;x=0;if(!(z&1))ub(a|0,824,96);z=Wa()|0;Ua(a|0);fb(z|0)}c=16-a|0;switch(g|0){case 1:{a=lj(60)|0;k[h>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[h>>2];k[v+4>>2]=k[h+4>>2];Ja(41,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 2:{a=lj(60)|0;k[j>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[j>>2];k[v+4>>2]=k[j+4>>2];Ja(42,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}case 3:{a=lj(60)|0;k[l>>2]=c;x=0;k[y>>2]=k[b>>2];k[y+4>>2]=k[b+4>>2];k[y+8>>2]=k[b+8>>2];k[v>>2]=k[l>>2];k[v+4>>2]=k[l+4>>2];Ja(43,a|0,y|0,p|0,v|0);z=x;x=0;if(!(z&1)){z=a;r=u;return z|0}z=Wa()|0;mj(a);fb(z|0)}default:{g=t+56|0;e=t+4|0;k[t>>2]=36160;k[g>>2]=36180;x=0;ra(62,t+56|0,e|0);y=x;x=0;if(y&1){z=Wa()|0;qn(g);fb(z|0)}k[t+128>>2]=0;k[t+132>>2]=-1;k[t>>2]=36200;k[t+56>>2]=36220;x=0;qa(180,e|0);y=x;x=0;do if(y&1)a=Wa()|0;else{k[e>>2]=36236;f=t+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[t+52>>2]=16;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;x=0;ra(63,e|0,v|0);y=x;x=0;if(y&1){a=Wa()|0;Sm(v);Sm(f);xn(e);break}Sm(v);x=0;a=va(28,t|0,49007,21)|0;y=x;x=0;do if((!(y&1)?(x=0,n=Aa(36,a|0,k[s>>2]|0)|0,y=x,x=0,!(y&1)):0)?(x=0,va(28,n|0,50997,18)|0,y=x,x=0,!(y&1)):0){d=Va(16)|0;x=0;ra(64,q|0,e|0);y=x;x=0;if(!(y&1)){if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Ja(36,d|0,9,35648,q|0);y=x;x=0;if(y&1)c=1;else{x=0;Fa(6,d|0,824,96);x=0;c=0}a=Wa()|0;Sm(q);if(!c)break}else a=Wa()|0;Ua(d|0)}else z=64;while(0);if((z|0)==64)a=Wa()|0;k[t>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);z=a;fb(z|0)}while(0);z=a;qn(g);fb(z|0)}}}c=k[b+4>>2]|0;d=lj(16)|0;a=k[a+16>>2]|0;if(!c){z=k[b>>2]|0;k[d>>2]=36132;k[d+4>>2]=z;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}else{k[d>>2]=36108;k[d+4>>2]=c;k[d+8>>2]=1;k[d+12>>2]=a;z=d;r=u;return z|0}return 0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+32|0;l=g;Oi(l,k[a+128>>2]|0,k[a+136>>2]|0);h=k[b+4>>2]|0;f=k[b+8>>2]|0;f=(f|0)==0?k[l+8>>2]|0:f;e=k[b+12>>2]|0;e=(e|0)==0?k[l+12>>2]|0:e;c=k[b+16>>2]|0;d=k[l+16>>2]|0;k[a+176>>2]=(h|0)==0?k[l+4>>2]|0:h;k[a+180>>2]=f;k[a+184>>2]=e;zi(a);e=a+132|0;b=(k[e>>2]|0)+32|0;b=(b|0)<128?2:(b|0)/64|0;f=0;do{k[a+188+(f*12|0)>>2]=b;k[a+188+(f*12|0)+4>>2]=0;j[a+188+(f*12|0)+8>>1]=0;j[a+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);h=(k[e>>2]|0)+32|0;h=(h|0)<128?2:(h|0)/64|0;l=((c|0)==0?d:c)&255;k[a+4568>>2]=h;k[a+4572>>2]=0;i[a+4576>>0]=l;i[a+4577>>0]=1;i[a+4578>>0]=0;k[a+4580>>2]=h;k[a+4584>>2]=1;i[a+4588>>0]=l;i[a+4589>>0]=1;i[a+4590>>0]=0;k[a+4592>>2]=0;r=g;return}function si(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=a+88|0;f=k[b>>2]|0;k[b>>2]=0;b=k[g>>2]|0;k[g>>2]=f;if(b)Lb[k[(k[b>>2]|0)+4>>2]&255](b);g=d+4|0;f=k[g>>2]|0;i[a+4620>>0]=e&1;b=a+156|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];ee(a,d);ti(a);b=k[a+116>>2]|0;a=k[a+112>>2]|0;while(1){e=b+-1|0;c=(i[e>>0]|0)==-1?7:8;if((a|0)<(c|0))break;else{b=e;a=a-c|0}}b=b-f|0;e=k[g>>2]|0;if(!e)return;k[g>>2]=e+b;d=d+8|0;k[d>>2]=(k[d>>2]|0)-b;return}function ti(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+32|0;C=A+12|0;z=A;h=a+172|0;y=(k[h>>2]|0)+4|0;if((k[a+28>>2]|0)==1)j=k[a+20>>2]|0;else j=1;b=ia(j<<1,y)|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;a:do if(b){if(!((b|0)<0?(x=0,qa(178,C|0),B=x,x=0,B&1):0))w=6;if((w|0)==6?(x=0,c=ta(67,b|0)|0,B=x,x=0,!(B&1)):0){k[D>>2]=c;k[C>>2]=c;k[C+8>>2]=c+b;while(1){i[c>>0]=0;c=(k[D>>2]|0)+1|0;k[D>>2]=c;b=b+-1|0;if(!b)break a}}c=Wa()|0;b=k[C>>2]|0;if(!b)fb(c|0);if((k[D>>2]|0)!=(b|0))k[D>>2]=b;mj(b);fb(c|0)}while(0);k[z>>2]=0;B=z+4|0;k[B>>2]=0;k[z+8>>2]=0;do if(!j)w=19;else{if(!(j>>>0>1073741823?(x=0,qa(178,z|0),v=x,x=0,v&1):0))w=17;if((w|0)==17?(d=j<<2,x=0,e=ta(67,d|0)|0,v=x,x=0,!(v&1)):0){k[z>>2]=e;w=e+(j<<2)|0;k[z+8>>2]=w;sw(e|0,0,d|0)|0;k[B>>2]=w;w=19;break}c=Wa()|0;b=k[z>>2]|0;d=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}while(0);if((w|0)==19){l=a+8|0;b=k[l>>2]|0;b:do if((b|0)>0){m=a+4596|0;n=ia(j,y)|0;o=n+1|0;p=a+4600|0;q=a+160|0;s=a+168|0;t=a+164|0;u=a+156|0;v=a+88|0;g=a+4592|0;if((j|0)>0)f=0;else{f=0;while(1){e=k[C>>2]|0;c=e+1|0;k[m>>2]=c;d=e+o|0;k[p>>2]=d;if(!(f&1))c=o;else{k[m>>2]=d;k[p>>2]=c;c=1}j=k[q>>2]|0;if((j|0)<=(f|0)?(f|0)<((k[s>>2]|0)+j|0):0){j=k[v>>2]|0;x=0;Ja(k[(k[j>>2]|0)+8>>2]|0,j|0,e+(c+((k[u>>2]|0)-n))|0,k[t>>2]|0,y|0);j=x;x=0;if(j&1)break;b=k[l>>2]|0}f=f+1|0;if((f|0)>=(b|0)){w=50;break b}}c=Wa()|0;break}c:while(1){c=k[C>>2]|0;b=c+1|0;k[m>>2]=b;c=c+o|0;k[p>>2]=c;if(f&1){k[m>>2]=c;k[p>>2]=b;b=c}e=k[z>>2]|0;c=b;d=0;do{k[g>>2]=k[e+(d<<2)>>2];w=k[h>>2]|0;i[c+w>>0]=i[c+(w+-1)>>0]|0;i[(k[p>>2]|0)+-1>>0]=i[k[m>>2]>>0]|0;x=0;ra(83,a|0,0);w=x;x=0;if(w&1){w=38;break c}e=k[z>>2]|0;k[e+(d<<2)>>2]=k[g>>2];c=(k[m>>2]|0)+y|0;k[m>>2]=c;b=k[p>>2]|0;k[p>>2]=b+y;d=d+1|0}while((d|0)<(j|0));w=k[q>>2]|0;if(((w|0)<=(f|0)?(f|0)<((k[s>>2]|0)+w|0):0)?(w=k[v>>2]|0,x=0,Ja(k[(k[w>>2]|0)+8>>2]|0,w|0,b+(y+((k[u>>2]|0)-n))|0,k[t>>2]|0,y|0),w=x,x=0,w&1):0){w=30;break}f=f+1|0;if((f|0)>=(k[l>>2]|0)){w=50;break b}}if((w|0)==30){c=Wa()|0;break}else if((w|0)==38){c=Wa()|0;break}}else w=50;while(0);do if((w|0)==50){x=0;qa(183,a|0);a=x;x=0;if(a&1){c=Wa()|0;break}b=k[z>>2]|0;c=b;if(b){d=k[B>>2]|0;if((d|0)!=(b|0))k[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);mj(b)}b=k[C>>2]|0;if(!b){r=A;return}if((k[D>>2]|0)!=(b|0))k[D>>2]=b;mj(b);r=A;return}while(0);b=k[z>>2]|0;d=b;if(b){e=k[B>>2]|0;if((e|0)!=(b|0))k[B>>2]=e+(~((e+-4-d|0)>>>2)<<2);mj(b)}}b=k[C>>2]|0;if(!b)fb(c|0);if((k[D>>2]|0)!=(b|0))k[D>>2]=b;mj(b);fb(c|0)}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=a+4596|0;c=k[p>>2]|0;t=a+172|0;b=k[t>>2]|0;if((b|0)<=0)return;q=a+4600|0;r=a+4604|0;s=a+4592|0;h=c;f=l[c+-1>>0]|0;c=l[c>>0]|0;o=0;while(1){m=k[q>>2]|0;g=i[m+(o+-1)>>0]|0;n=g&255;e=o+1|0;d=l[h+e>>0]|0;j=k[r>>2]|0;h=c-f|0;f=f-n|0;j=((((i[j+(d-c)>>0]|0)*9|0)+(i[j+h>>0]|0)|0)*9|0)+(i[j+f>>0]|0)|0;m=m+o|0;if(!j){b=wi(a,g,m,b-o|0)|0;c=b+o|0;if((c|0)!=(k[t>>2]|0)){n=xi(a,n,l[(k[p>>2]|0)+c>>0]|0)|0;i[(k[q>>2]|0)+c>>0]=n;n=k[s>>2]|0;k[s>>2]=(n|0)<1?0:n+-1|0;b=b+1|0}e=b+o|0;d=k[p>>2]|0;c=l[d+(e+-1)>>0]|0;d=l[d+e>>0]|0}else{b=c-n>>31;if((b^f|0)<0)b=c;else b=n+((b^h|0)<0?0:h)|0;n=vi(a,j,l[m>>0]|0,b,0)|0;i[(k[q>>2]|0)+o>>0]=n}b=k[t>>2]|0;if((b|0)<=(e|0))break;h=k[p>>2]|0;f=c;c=d;o=e}return}function vi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b>>31;l=(r^b)-r|0;p=a+188+(l*12|0)+10|0;c=j[p>>1]|0;o=a+188+(l*12|0)|0;e=k[o>>2]|0;if((c|0)<(e|0))if((c<<1|0)<(e|0))if((c<<2|0)<(e|0))if((c<<3|0)<(e|0))if((c<<4|0)<(e|0)){b=5;while(1)if((c<>1]^r)-r+d|0;q=a+128|0;e=k[q>>2]|0;if((c&e|0)==(c|0))m=c;else m=e&~(c>>31);c=a+112|0;if((k[c>>2]|0)<8)qe(a);e=a+108|0;d=k[e>>2]|0;f=d>>>24;g=k[2832+(b<<11)+(f<<3)+4>>2]|0;if(!g){h=k[a+148>>2]|0;e=k[a+140>>2]|0;c=Tg(a)|0;if((c|0)<(h+-1-e|0)){if(b)c=(Ug(a,b)|0)+(c<>31^c>>1;if((((c|0)>-1?c:0-c|0)|0)>65535){c=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,c|0,5,35648);a=x;x=0;if(a&1){a=Wa()|0;Ua(c|0);fb(a|0)}else ub(c|0,824,96)}}else{k[c>>2]=(k[c>>2]|0)-g;k[e>>2]=d<>2]|0}h=a+136|0;d=k[h>>2]|0;if(!b){if(!d)e=(k[a+188+(l*12|0)+4>>2]<<1)+-1+(j[p>>1]|0)>>31;else e=0;g=e^c}else g=c;b=k[a+152>>2]|0;e=(k[o>>2]|0)+((g|0)>-1?g:0-g|0)|0;f=a+188+(l*12|0)+4|0;c=(k[f>>2]|0)+(ia(d<<1|1,g)|0)|0;d=j[p>>1]|0;if((d|0)==(b|0)){e=e>>1;c=c>>1;d=b>>1}k[o>>2]=e;b=d+1|0;j[p>>1]=b;e=b+c|0;if((e|0)>=1){if((c|0)>0){c=c-b|0;p=j[n>>1]|0;j[n>>1]=(p<<16>>16<127&1)+(p&65535);c=(c|0)>0?0:c}}else{c=j[n>>1]|0;j[n>>1]=(c&65535)-(c<<16>>16>-128&1);c=(e|0)>(~d|0)?e:0-d|0}k[f>>2]=c;b=k[h>>2]|0;d=b<<1|1;e=(ia(d,(g^r)-r|0)|0)+m|0;if((e|0)>=(0-b|0)){c=k[q>>2]|0;if((c+b|0)<(e|0))e=e-(ia(k[a+132>>2]|0,d)|0)|0}else{e=(ia(k[a+132>>2]|0,d)|0)+e|0;c=k[q>>2]|0}if((e&c|0)==(e|0)){a=e;a=a&255;return a|0}a=c&~(e>>31);a=a&255;return a|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;h=a+112|0;j=a+108|0;l=a+4592|0;e=k[h>>2]|0;f=0;while(1){if((e|0)<1){qe(a);e=k[h>>2]|0}g=k[j>>2]|0;e=e+-1|0;k[h>>2]=e;k[j>>2]=g<<1;if((g|0)>=0){m=8;break}g=k[l>>2]|0;n=1<>2];o=d-f|0;o=(n|0)<(o|0)?n:o;f=o+f|0;if((o|0)==(n|0))k[l>>2]=(g|0)>30?31:g+1|0;if((f|0)==(d|0)){e=d;break}}if((m|0)==8)if((f|0)!=(d|0)){e=k[l>>2]|0;if((e+-4|0)>>>0<28)e=Ug(a,k[36476+(e<<2)>>2]|0)|0;else e=0;e=e+f|0;if((e|0)>(d|0)){e=Va(16)|0;if((i[8]|0)==0?(Qa(8)|0)!=0:0){tb(72,35648,w|0)|0;Ya(8)}x=0;Fa(7,e|0,5,35648);o=x;x=0;if(o&1){o=Wa()|0;Ua(e|0);fb(o|0)}else ub(e|0,824,96)}}else e=d;if((e|0)<=0)return e|0;sw(c|0,b|0,e|0)|0;return e|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b-c|0;g=a+128|0;d=a+136|0;if((((f|0)>-1?f:0-f|0)|0)>(k[d>>2]|0)){b=ia(yi(a,a+4568|0)|0,c-b>>31|1)|0;e=k[d>>2]|0;f=e<<1|1;b=(ia(b,f)|0)+c|0;if((b|0)>=(0-e|0)){d=k[g>>2]|0;if((d+e|0)<(b|0))b=b-(ia(k[a+132>>2]|0,f)|0)|0}else{b=(ia(k[a+132>>2]|0,f)|0)+b|0;d=k[g>>2]|0}if((b&d|0)==(b|0)){a=b;a=a&255;return a|0}a=d&~(b>>31);a=a&255;return a|0}else{c=yi(a,a+4580|0)|0;f=k[d>>2]|0;e=f<<1|1;b=(ia(e,c)|0)+b|0;if((b|0)>=(0-f|0)){d=k[g>>2]|0;if((d+f|0)<(b|0))b=b-(ia(k[a+132>>2]|0,e)|0)|0}else{b=(ia(k[a+132>>2]|0,e)|0)+b|0;d=k[g>>2]|0}if((b&d|0)==(b|0)){a=b;a=a&255;return a|0}a=d&~(b>>31);a=a&255;return a|0}return 0}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=b+9|0;c=l[m>>0]|0;f=b+4|0;e=(ia(c>>>1,k[f>>2]|0)|0)+(k[b>>2]|0)|0;if((c|0)<(e|0)){d=0;do{c=c<<1;d=d+1|0}while((c|0)<(e|0))}else d=0;g=k[a+148>>2]|0;h=k[36476+(k[a+4592>>2]<<2)>>2]|0;c=k[a+140>>2]|0;e=Tg(a)|0;do if((e|0)<(g+-2-h-c|0))if(!d){d=k[f>>2]|0;a=d+e|0;c=a&1;a=(c+a|0)/2|0;j=8;break}else{h=(Ug(a,d)|0)+(e<>2]|0;e=h+d|0;g=e&1;c=g;f=1;e=(g+e|0)/2|0;break}else{e=(Ug(a,c)|0)+1|0;g=k[f>>2]|0;a=e+g|0;c=a&1;a=(c+a|0)/2|0;if(!d){d=g;j=8}else{h=e;f=1;e=a;d=g}}while(0);if((j|0)==8){h=e;f=l[b+10>>0]<<1>>>0>=(l[m>>0]|0)>>>0;e=a}e=(c|0)!=0^f?e:0-e|0;if((e|0)<0){j=b+10|0;i[j>>0]=(l[j>>0]|0)+1}c=(h+1-d>>1)+(k[b>>2]|0)|0;k[b>>2]=c;d=i[m>>0]|0;if(d<<24>>24!=(i[b+8>>0]|0)){b=d;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}k[b>>2]=c>>1;j=(d&255)>>>1;i[m>>0]=j;b=b+10|0;i[b>>0]=(l[b>>0]|0)>>>1;b=j;b=b&255;b=b+1|0;b=b&255;i[m>>0]=b;return e|0}function zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o;n=a+136|0;a:do if(!(k[n>>2]|0)){c=k[a+128>>2]|0;b=a+144|0;if((((c|0)==((1<>2])+-1|0)?(Oi(d,c,0),(k[d+4>>2]|0)==(k[a+176>>2]|0)):0)?(k[d+8>>2]|0)==(k[a+180>>2]|0):0)?(k[d+12>>2]|0)==(k[a+184>>2]|0):0)switch(k[b>>2]|0){case 8:{n=k[8900]|0;k[a+4604>>2]=n+(((k[8901]|0)-n|0)>>>1);r=o;return}case 10:{n=k[8903]|0;k[a+4604>>2]=n+(((k[8904]|0)-n|0)>>>1);r=o;return}case 12:{n=k[8906]|0;k[a+4604>>2]=n+(((k[8907]|0)-n|0)>>>1);r=o;return}case 16:{n=k[8909]|0;k[a+4604>>2]=n+(((k[8910]|0)-n|0)>>>1);r=o;return}default:break a}}else b=a+144|0;while(0);m=1<>2];c=a+4608|0;d=m<<1;e=a+4612|0;f=k[e>>2]|0;b=k[c>>2]|0;g=f-b|0;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+d|0,(f|0)!=(h|0)):0)k[e>>2]=h}else{se(c,d-g|0);b=k[c>>2]|0}l=a+4604|0;k[l>>2]=b+m;b=0-m|0;if((m|0)<=(b|0)){r=o;return}h=a+184|0;j=a+180|0;g=a+176|0;f=b;do{b=k[h>>2]|0;if((f|0)>(0-b|0)){c=k[j>>2]|0;if((f|0)>(0-c|0)){d=k[g>>2]|0;if((f|0)>(0-d|0)){e=k[n>>2]|0;if((f|0)>=(0-e|0))if((e|0)<(f|0))if((d|0)<=(f|0))if((c|0)>(f|0))b=2;else b=(b|0)>(f|0)?3:4;else b=1;else b=0;else b=-1}else b=-2}else b=-3}else b=-4;i[(k[l>>2]|0)+f>>0]=b;f=f+1|0}while((f|0)!=(m|0));r=o;return}function Ai(a){a=a|0;mj(a);return}function Bi(a){a=a|0;return 50767}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;Qm(a,50754,12);return}function Di(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=r;r=r+16|0;s=q;k[s>>2]=0;t=s+4|0;k[t>>2]=0;k[s+8>>2]=0;o=s+8|0;x=0;e=ta(67,1)|0;n=x;x=0;a:do if((!(n&1)?(n=e+1|0,i[e>>0]=c,k[s>>2]=e,k[t>>2]=n,k[o>>2]=n,x=0,ra(84,s|0,b&65535|0),n=x,x=0,!(n&1)):0)?(x=0,ra(84,s|0,a&65535|0),n=x,x=0,!(n&1)):0){l=d&255;e=k[t>>2]|0;c=k[o>>2]|0;if(e>>>0>=c>>>0){b=k[s>>2]|0;a=b;g=e-a+1|0;if((g|0)<0){x=0;qa(178,s|0);n=x;x=0;if(n&1){p=52;break}a=k[s>>2]|0;c=k[o>>2]|0;b=a}j=b;e=c-j|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;c=k[t>>2]|0;h=c-j|0;if(!e){e=0;g=0}else p=12}else{h=k[t>>2]|0;e=2147483647;c=h;h=h-j|0;p=12}if((p|0)==12){x=0;g=ta(67,e|0)|0;n=x;x=0;if(n&1){p=52;break}}i[g+h>>0]=l;m=c-j|0;n=g+(h-m)|0;vw(n|0,b|0,m|0)|0;k[s>>2]=n;k[t>>2]=g+(h+1);k[o>>2]=g+e;if(a)mj(a)}else{i[e>>0]=l;k[t>>2]=(k[t>>2]|0)+1}b:do if((d|0)>0){n=0;while(1){n=n+1|0;m=n&255;e=k[t>>2]|0;b=k[o>>2]|0;if(e>>>0>=b>>>0){a=k[s>>2]|0;c=a;g=e-c+1|0;if((g|0)<0){x=0;qa(178,s|0);l=x;x=0;if(l&1)break;a=k[s>>2]|0;c=a;b=k[o>>2]|0}l=a;e=b-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;b=k[t>>2]|0;h=b-l|0;if(!e){j=0;g=0}else p=25}else{h=k[t>>2]|0;e=2147483647;b=h;h=h-l|0;p=25}if((p|0)==25){p=0;x=0;g=ta(67,e|0)|0;j=x;x=0;if(j&1)break;else j=e}i[g+h>>0]=m;e=g+(h+1)|0;l=b-l|0;m=g+(h-l)|0;vw(m|0,a|0,l|0)|0;k[s>>2]=m;k[t>>2]=e;k[o>>2]=g+j;if(c){mj(c);e=k[t>>2]|0}}else{i[e>>0]=m;e=(k[t>>2]|0)+1|0;k[t>>2]=e}c=k[o>>2]|0;if(e>>>0>=c>>>0){b=k[s>>2]|0;a=b;g=e-a+1|0;if((g|0)<0){x=0;qa(178,s|0);m=x;x=0;if(m&1)break;a=k[s>>2]|0;c=k[o>>2]|0;b=a}l=b;e=c-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;g=k[t>>2]|0;h=g-l|0;if(!e){j=0;c=0}else p=36}else{h=k[t>>2]|0;e=2147483647;g=h;h=h-l|0;p=36}if((p|0)==36){p=0;x=0;c=ta(67,e|0)|0;m=x;x=0;if(m&1)break;else j=e}i[c+h>>0]=17;e=c+(h+1)|0;l=g-l|0;m=c+(h-l)|0;vw(m|0,b|0,l|0)|0;k[s>>2]=m;k[t>>2]=e;k[o>>2]=c+j;if(a){mj(a);e=k[t>>2]|0}}else{i[e>>0]=17;e=(k[t>>2]|0)+1|0;k[t>>2]=e}c=k[o>>2]|0;if(e>>>0>=c>>>0){b=k[s>>2]|0;a=b;g=e-a+1|0;if((g|0)<0){x=0;qa(178,s|0);m=x;x=0;if(m&1)break;a=k[s>>2]|0;c=k[o>>2]|0;b=a}j=b;e=c-j|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;c=k[t>>2]|0;h=c-j|0;if(!e){e=0;g=0}else p=48}else{h=k[t>>2]|0;e=2147483647;c=h;h=h-j|0;p=48}if((p|0)==48){p=0;x=0;g=ta(67,e|0)|0;m=x;x=0;if(m&1)break}i[g+h>>0]=0;l=c-j|0;m=g+(h-l)|0;vw(m|0,b|0,l|0)|0;k[s>>2]=m;k[t>>2]=g+(h+1);k[o>>2]=g+e;if(a)mj(a)}else{i[e>>0]=0;k[t>>2]=(k[t>>2]|0)+1}if((n|0)>=(d|0))break b}f=Wa()|0;break a}while(0);x=0;h=ta(67,20)|0;d=x;x=0;if(!(d&1)){k[h>>2]=36800;i[h+4>>0]=-9;a=h+8|0;k[a>>2]=0;g=h+12|0;k[g>>2]=0;c=h+16|0;k[c>>2]=0;e=k[t>>2]|0;d=k[s>>2]|0;b=e-d|0;do if((e|0)!=(d|0)){if(!((b|0)<0?(x=0,qa(178,a|0),d=x,x=0,d&1):0))p=62;if((p|0)==62?(x=0,f=ta(67,b|0)|0,d=x,x=0,!(d&1)):0){k[g>>2]=f;k[a>>2]=f;k[c>>2]=f+b;e=k[s>>2]|0;c=k[t>>2]|0;if((e|0)==(c|0))break;do{i[f>>0]=i[e>>0]|0;f=(k[g>>2]|0)+1|0;k[g>>2]=f;e=e+1|0}while((e|0)!=(c|0));e=k[s>>2]|0;break}f=Wa()|0;e=k[a>>2]|0;if(e){if((k[g>>2]|0)!=(e|0))k[g>>2]=e;mj(e)}mj(h);break a}while(0);if(!e){r=q;return h|0}if((k[t>>2]|0)!=(e|0))k[t>>2]=e;mj(e);r=q;return h|0}else p=52}else p=52;while(0);if((p|0)==52)f=Wa()|0;e=k[s>>2]|0;if(!e)fb(f|0);if((k[t>>2]|0)!=(e|0))k[t>>2]=e;mj(e);fb(f|0);return 0}function Ei(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0;t=r;r=r+32|0;p=t+28|0;v=t+16|0;s=t+4|0;q=t;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;n=lj(5)|0;k[v>>2]=n;o=v+8|0;k[o>>2]=n+5;i[n>>0]=74;i[n+1>>0]=70;i[n+2>>0]=73;i[n+3>>0]=70;i[n+4>>0]=0;k[w>>2]=n+5;x=0;ra(84,v|0,k[a>>2]&65535|0);n=x;x=0;a:do if(!(n&1)){l=k[a+4>>2]&255;b=k[w>>2]|0;d=k[o>>2]|0;if(b>>>0>=d>>>0){e=k[v>>2]|0;f=e;g=b-f+1|0;if((g|0)<0){x=0;qa(178,v|0);n=x;x=0;if(n&1){u=43;break}f=k[v>>2]|0;d=k[o>>2]|0;e=f}j=e;b=d-j|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?g:b;d=k[w>>2]|0;h=d-j|0;if(!b){b=0;g=0}else u=10}else{h=k[w>>2]|0;b=2147483647;d=h;h=h-j|0;u=10}if((u|0)==10){x=0;g=ta(67,b|0)|0;n=x;x=0;if(n&1){u=43;break}}i[g+h>>0]=l;m=d-j|0;n=g+(h-m)|0;vw(n|0,e|0,m|0)|0;k[v>>2]=n;k[w>>2]=g+(h+1);k[o>>2]=g+b;if(f)mj(f)}else{i[b>>0]=l;k[w>>2]=(k[w>>2]|0)+1}x=0;ra(84,v|0,k[a+8>>2]&65535|0);n=x;x=0;if(!(n&1)?(x=0,ra(84,v|0,k[a+12>>2]&65535|0),n=x,x=0,!(n&1)):0){n=a+16|0;m=k[n>>2]&255;b=k[w>>2]|0;e=k[o>>2]|0;if(b>>>0>=e>>>0){f=k[v>>2]|0;d=f;g=b-d+1|0;if((g|0)<0){x=0;qa(178,v|0);l=x;x=0;if(l&1){u=43;break}f=k[v>>2]|0;d=f;e=k[o>>2]|0}l=f;b=e-l|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?g:b;g=k[w>>2]|0;h=g-l|0;if(!b){j=0;e=0}else u=23}else{h=k[w>>2]|0;b=2147483647;g=h;h=h-l|0;u=23}if((u|0)==23){x=0;e=ta(67,b|0)|0;j=x;x=0;if(j&1){u=43;break}else j=b}i[e+h>>0]=m;b=e+(h+1)|0;l=g-l|0;m=e+(h-l)|0;vw(m|0,f|0,l|0)|0;k[v>>2]=m;k[w>>2]=b;k[o>>2]=e+j;if(d){mj(d);b=k[w>>2]|0}}else{i[b>>0]=m;b=(k[w>>2]|0)+1|0;k[w>>2]=b}m=a+20|0;l=k[m>>2]&255;d=k[o>>2]|0;if(b>>>0>=d>>>0){e=k[v>>2]|0;f=e;g=b-f+1|0;if((g|0)<0){x=0;qa(178,v|0);j=x;x=0;if(j&1){u=43;break}f=k[v>>2]|0;d=k[o>>2]|0;e=f}j=e;b=d-j|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?g:b;d=k[w>>2]|0;h=d-j|0;if(!b){b=0;g=0}else u=34}else{h=k[w>>2]|0;b=2147483647;d=h;h=h-j|0;u=34}if((u|0)==34){x=0;g=ta(67,b|0)|0;y=x;x=0;if(y&1){u=43;break}}i[g+h>>0]=l;l=d-j|0;y=g+(h-l)|0;vw(y|0,e|0,l|0)|0;k[v>>2]=y;k[w>>2]=g+(h+1);k[o>>2]=g+b;if(f)mj(f)}else{i[b>>0]=l;k[w>>2]=(k[w>>2]|0)+1}b=k[n>>2]|0;do if((b|0)>0){if(!(k[a+24>>2]|0)){k[q>>2]=k[w>>2];y=0+(ia(b*3|0,k[m>>2]|0)|0)|0;x=0;k[p>>2]=k[q>>2];Ea(15,v|0,p|0,0,y|0)|0;y=x;x=0;if(y&1){u=43;break a}else break}d=Va(16)|0;x=0;Fa(5,s|0,50792,57);y=x;x=0;if(!(y&1)){x=0;b=Da(1)|0;y=x;x=0;if(!(y&1)?(x=0,Ja(36,d|0,1,b|0,s|0),y=x,x=0,!(y&1)):0){x=0;Fa(6,d|0,824,96);x=0;c=0}else c=1;b=Wa()|0;Sm(s);if(!c){c=b;break a}}else b=Wa()|0;Ua(d|0);c=b;break a}while(0);x=0;h=ta(67,20)|0;y=x;x=0;if(!(y&1)){k[h>>2]=36800;i[h+4>>0]=-32;f=h+8|0;k[f>>2]=0;g=h+12|0;k[g>>2]=0;d=h+16|0;k[d>>2]=0;b=k[w>>2]|0;y=k[v>>2]|0;e=b-y|0;do if((b|0)!=(y|0)){if(!((e|0)<0?(x=0,qa(178,f|0),y=x,x=0,y&1):0))u=53;if((u|0)==53?(x=0,c=ta(67,e|0)|0,y=x,x=0,!(y&1)):0){k[g>>2]=c;k[f>>2]=c;k[d>>2]=c+e;b=k[v>>2]|0;d=k[w>>2]|0;if((b|0)==(d|0))break;do{i[c>>0]=i[b>>0]|0;c=(k[g>>2]|0)+1|0;k[g>>2]=c;b=b+1|0}while((b|0)!=(d|0));b=k[v>>2]|0;break}b=Wa()|0;c=k[f>>2]|0;if(c){if((k[g>>2]|0)!=(c|0))k[g>>2]=c;mj(c)}mj(h);u=44;break a}while(0);if(!b){r=t;return h|0}if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);r=t;return h|0}else u=43}else u=43}else u=43;while(0);if((u|0)==43){b=Wa()|0;u=44}if((u|0)==44)c=b;b=k[v>>2]|0;if(!b)fb(c|0);if((k[w>>2]|0)!=(b|0))k[w>>2]=b;mj(b);fb(c|0);return 0}function Fi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;h=r;r=r+16|0;l=h;k[l>>2]=0;m=l+4|0;k[m>>2]=0;k[l+8>>2]=0;x=0;b=ta(67,1)|0;g=x;x=0;a:do if((((((!(g&1)?(g=b+1|0,i[b>>0]=1,k[l>>2]=b,k[m>>2]=g,k[l+8>>2]=g,x=0,ra(84,l|0,k[a>>2]&65535|0),g=x,x=0,!(g&1)):0)?(x=0,ra(84,l|0,k[a+4>>2]&65535|0),g=x,x=0,!(g&1)):0)?(x=0,ra(84,l|0,k[a+8>>2]&65535|0),g=x,x=0,!(g&1)):0)?(x=0,ra(84,l|0,k[a+12>>2]&65535|0),g=x,x=0,!(g&1)):0)?(x=0,ra(84,l|0,k[a+16>>2]&65535|0),g=x,x=0,!(g&1)):0)?(x=0,j=ta(67,20)|0,g=x,x=0,!(g&1)):0){k[j>>2]=36800;i[j+4>>0]=-8;e=j+8|0;k[e>>2]=0;g=j+12|0;k[g>>2]=0;a=j+16|0;k[a>>2]=0;b=k[m>>2]|0;n=k[l>>2]|0;d=b-n|0;do if((b|0)!=(n|0)){if(!((d|0)<0?(x=0,qa(178,e|0),n=x,x=0,n&1):0))f=11;if((f|0)==11?(x=0,c=ta(67,d|0)|0,n=x,x=0,!(n&1)):0){k[g>>2]=c;k[e>>2]=c;k[a>>2]=c+d;b=k[l>>2]|0;a=k[m>>2]|0;if((b|0)==(a|0))break;do{i[c>>0]=i[b>>0]|0;c=(k[g>>2]|0)+1|0;k[g>>2]=c;b=b+1|0}while((b|0)!=(a|0));b=k[l>>2]|0;break}c=Wa()|0;b=k[e>>2]|0;if(b){if((k[g>>2]|0)!=(b|0))k[g>>2]=b;mj(b)}mj(j);break a}while(0);if(!b){r=h;return j|0}if((k[m>>2]|0)!=(b|0))k[m>>2]=b;mj(b);r=h;return j|0}else f=25;while(0);if((f|0)==25)c=Wa()|0;b=k[l>>2]|0;if(!b)fb(c|0);if((k[m>>2]|0)!=(b|0))k[m>>2]=b;mj(b);fb(c|0);return 0}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=lj(5)|0;i[f>>0]=109;i[f+1>>0]=114;i[f+2>>0]=102;i[f+3>>0]=120;i[f+4>>0]=a;x=0;e=ta(67,20)|0;d=x;x=0;if(d&1){e=Wa()|0;mj(f);fb(e|0)}k[e>>2]=36800;i[e+4>>0]=-24;a=e+8|0;k[a>>2]=0;b=e+12|0;k[b>>2]=0;c=e+16|0;k[c>>2]=0;x=0;d=ta(67,5)|0;g=x;x=0;if(!(g&1)){k[b>>2]=d;k[a>>2]=d;k[c>>2]=d+5;i[d>>0]=109;g=(k[b>>2]|0)+1|0;k[b>>2]=g;d=f+1|0;i[g>>0]=i[d>>0]|0;g=(k[b>>2]|0)+1|0;k[b>>2]=g;d=d+1|0;i[g>>0]=i[d>>0]|0;g=(k[b>>2]|0)+1|0;k[b>>2]=g;d=d+1|0;i[g>>0]=i[d>>0]|0;g=(k[b>>2]|0)+1|0;k[b>>2]=g;i[g>>0]=i[d+1>>0]|0;k[b>>2]=(k[b>>2]|0)+1;mj(f);return e|0}g=Wa()|0;mj(e);mj(f);fb(g|0);return 0}function Hi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+16|0;v=u;k[v>>2]=0;w=v+4|0;k[w>>2]=0;k[v+8>>2]=0;s=v+8|0;x=0;e=ta(67,1)|0;q=x;x=0;a:do if(!(q&1)){h=e+1|0;q=h;i[e>>0]=b;k[v>>2]=e;k[w>>2]=q;k[s>>2]=q;if((b|0)>0){g=h;q=0;do{p=q+a&255;if(g>>>0>=h>>>0){e=k[v>>2]|0;j=e;g=g-j+1|0;if((g|0)<0){x=0;qa(178,v|0);o=x;x=0;if(o&1){t=28;break}j=k[v>>2]|0;h=k[s>>2]|0;o=j}else o=e;n=o;e=h-n|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;h=k[w>>2]|0;l=h-n|0;if(!e){m=0;g=0}else t=13}else{l=k[w>>2]|0;e=2147483647;h=l;l=l-n|0;t=13}if((t|0)==13){t=0;x=0;g=ta(67,e|0)|0;m=x;x=0;if(m&1){t=28;break}else m=e}i[g+l>>0]=p;e=g+(l+1)|0;n=h-n|0;p=g+(l-n)|0;vw(p|0,o|0,n|0)|0;k[v>>2]=p;k[w>>2]=e;k[s>>2]=g+m;if(j){mj(j);e=k[w>>2]|0}}else{i[g>>0]=p;e=(k[w>>2]|0)+1|0;k[w>>2]=e}h=k[s>>2]|0;if(e>>>0>=h>>>0){j=k[v>>2]|0;g=j;l=e-g+1|0;if((l|0)<0){x=0;qa(178,v|0);p=x;x=0;if(p&1){t=28;break}j=k[v>>2]|0;g=j;h=k[s>>2]|0}n=j;e=h-n|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?l:e;l=k[w>>2]|0;h=l-n|0;if(!e){e=0;m=0}else t=24}else{h=k[w>>2]|0;e=2147483647;l=h;h=h-n|0;t=24}if((t|0)==24){t=0;x=0;m=ta(67,e|0)|0;p=x;x=0;if(p&1){t=28;break}}i[m+h>>0]=0;o=l-n|0;p=m+(h-o)|0;vw(p|0,j|0,o|0)|0;k[v>>2]=p;k[w>>2]=m+(h+1);k[s>>2]=m+e;if(g)mj(g)}else{i[e>>0]=0;k[w>>2]=(k[w>>2]|0)+1}q=q+1|0;g=k[w>>2]|0;h=k[s>>2]|0}while((q|0)<(b|0));if((t|0)==28){f=Wa()|0;break}e=c&255;if(g>>>0>>0){i[g>>0]=e;g=(k[w>>2]|0)+1|0;k[w>>2]=g}else t=37}else{g=h;e=c&255;t=37}if((t|0)==37){j=k[v>>2]|0;l=j;m=g-l+1|0;if((m|0)<0){x=0;qa(178,v|0);c=x;x=0;if(c&1){t=29;break}l=k[v>>2]|0;h=k[s>>2]|0;j=l}p=j;g=h-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=k[w>>2]|0;n=m-p|0;if(!g){o=0;h=0}else t=43}else{n=k[w>>2]|0;g=2147483647;m=n;n=n-p|0;t=43}if((t|0)==43){x=0;h=ta(67,g|0)|0;c=x;x=0;if(c&1){t=29;break}else o=g}i[h+n>>0]=e;g=h+(n+1)|0;a=m-p|0;c=h+(n-a)|0;vw(c|0,j|0,a|0)|0;k[v>>2]=c;k[w>>2]=g;k[s>>2]=h+o;if(l){mj(l);g=k[w>>2]|0}}p=d&255;e=k[s>>2]|0;if(g>>>0>=e>>>0){h=k[v>>2]|0;j=h;g=g-j+1|0;if((g|0)<0){x=0;qa(178,v|0);d=x;x=0;if(d&1){t=29;break}j=k[v>>2]|0;e=k[s>>2]|0;h=j}o=h;e=e-o|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;l=k[w>>2]|0;m=l-o|0;if(!e){n=0;g=0}else t=54}else{m=k[w>>2]|0;e=2147483647;l=m;m=m-o|0;t=54}if((t|0)==54){x=0;g=ta(67,e|0)|0;d=x;x=0;if(d&1){t=29;break}else n=e}i[g+m>>0]=p;e=g+(m+1)|0;c=l-o|0;d=g+(m-c)|0;vw(d|0,h|0,c|0)|0;k[v>>2]=d;k[w>>2]=e;k[s>>2]=g+n;if(j){mj(j);e=k[w>>2]|0}}else{i[g>>0]=p;e=(k[w>>2]|0)+1|0;k[w>>2]=e}g=k[s>>2]|0;if(e>>>0>=g>>>0){h=k[v>>2]|0;j=h;l=e-j+1|0;if((l|0)<0){x=0;qa(178,v|0);d=x;x=0;if(d&1){t=29;break}j=k[v>>2]|0;g=k[s>>2]|0;h=j}n=h;e=g-n|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?l:e;g=k[w>>2]|0;m=g-n|0;if(!e){e=0;l=0}else t=65}else{m=k[w>>2]|0;e=2147483647;g=m;m=m-n|0;t=65}if((t|0)==65){x=0;l=ta(67,e|0)|0;d=x;x=0;if(d&1){t=29;break}}i[l+m>>0]=0;c=g-n|0;d=l+(m-c)|0;vw(d|0,h|0,c|0)|0;k[v>>2]=d;k[w>>2]=l+(m+1);k[s>>2]=l+e;if(j)mj(j)}else{i[e>>0]=0;k[w>>2]=(k[w>>2]|0)+1}x=0;m=ta(67,20)|0;s=x;x=0;if(!(s&1)){k[m>>2]=36800;i[m+4>>0]=-38;j=m+8|0;k[j>>2]=0;l=m+12|0;k[l>>2]=0;g=m+16|0;k[g>>2]=0;e=k[w>>2]|0;s=k[v>>2]|0;h=e-s|0;do if((e|0)!=(s|0)){if(!((h|0)<0?(x=0,qa(178,j|0),s=x,x=0,s&1):0))t=72;if((t|0)==72?(x=0,f=ta(67,h|0)|0,s=x,x=0,!(s&1)):0){k[l>>2]=f;k[j>>2]=f;k[g>>2]=f+h;e=k[v>>2]|0;g=k[w>>2]|0;if((e|0)==(g|0))break;do{i[f>>0]=i[e>>0]|0;f=(k[l>>2]|0)+1|0;k[l>>2]=f;e=e+1|0}while((e|0)!=(g|0));e=k[v>>2]|0;break}f=Wa()|0;e=k[j>>2]|0;if(e){if((k[l>>2]|0)!=(e|0))k[l>>2]=e;mj(e)}mj(m);break a}while(0);if(!e){r=u;return m|0}if((k[w>>2]|0)!=(e|0))k[w>>2]=e;mj(e);r=u;return m|0}else t=29}else t=29;while(0);if((t|0)==29)f=Wa()|0;e=k[v>>2]|0;if(!e)fb(f|0);if((k[w>>2]|0)!=(e|0))k[w>>2]=e;mj(e);fb(f|0);return 0}function Ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(b&65535)>>>8&255;o=a+4|0;c=k[o>>2]|0;p=a+8|0;d=k[p>>2]|0;if(c>>>0>=d>>>0){e=k[a>>2]|0;f=e;g=c-f+1|0;if((g|0)<0){jj(a);f=k[a>>2]|0;d=k[p>>2]|0;e=f}m=e;c=d-m|0;if(c>>>0<1073741823){c=c<<1;c=c>>>0>>0?g:c;g=k[o>>2]|0;d=g-m|0;if(!c){l=0;j=0;h=d;c=g}else q=8}else{d=k[o>>2]|0;c=2147483647;g=d;d=d-m|0;q=8}if((q|0)==8){l=c;j=lj(c)|0;h=d;c=g}i[j+h>>0]=n;d=j+(h+1)|0;m=c-m|0;n=j+(h-m)|0;vw(n|0,e|0,m|0)|0;k[a>>2]=n;k[o>>2]=d;k[p>>2]=j+l;if(f){mj(f);d=k[o>>2]|0}}else{i[c>>0]=n;d=(k[o>>2]|0)+1|0;k[o>>2]=d}m=b&255;c=k[p>>2]|0;if(d>>>0>>0){i[d>>0]=m;k[o>>2]=(k[o>>2]|0)+1;return}e=k[a>>2]|0;f=e;d=d-f+1|0;if((d|0)<0){jj(a);f=k[a>>2]|0;c=k[p>>2]|0;e=f}l=e;c=c-l|0;if(c>>>0<1073741823){c=c<<1;c=c>>>0>>0?d:c;g=k[o>>2]|0;d=g-l|0;if(!c){j=0;h=0;c=g}else q=18}else{d=k[o>>2]|0;c=2147483647;g=d;d=d-l|0;q=18}if((q|0)==18){j=c;h=lj(c)|0;c=g}i[h+d>>0]=m;b=c-l|0;q=h+(d-b)|0;vw(q|0,e|0,b|0)|0;k[a>>2]=q;k[o>>2]=h+(d+1);k[p>>2]=h+j;if(!f)return;mj(f);return}function Ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=k[a>>2]|0;q=k[b>>2]|0;p=q;j=e;n=c;l=d-n|0;if((l|0)<=0){r=q;return r|0}o=a+8|0;b=k[o>>2]|0;r=a+4|0;m=k[r>>2]|0;f=m;if((l|0)<=(b-f|0)){h=f-p|0;if((l|0)>(h|0)){g=c+h|0;if((g|0)==(d|0))b=m;else{f=g;b=m;do{i[b>>0]=i[f>>0]|0;b=(k[r>>2]|0)+1|0;k[r>>2]=b;f=f+1|0}while((f|0)!=(d|0))}if((h|0)>0)h=b;else{r=q;return r|0}}else{h=m;g=d}e=h-(e+(l-j+p))|0;b=q+e|0;if(b>>>0>>0){f=h;do{i[f>>0]=i[b>>0]|0;b=b+1|0;f=(k[r>>2]|0)+1|0;k[r>>2]=f}while((b|0)!=(m|0))}xw(h+(0-e)|0,q|0,e|0)|0;xw(q|0,c|0,g-n|0)|0;r=q;return r|0}f=f-j+l|0;if((f|0)<0){jj(a);b=k[o>>2]|0;e=k[a>>2]|0}g=e;b=b-g|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b;f=p-g|0;if(!b){g=0;l=0}else h=15}else{b=2147483647;f=p-g|0;h=15}if((h|0)==15){g=b;l=lj(b)|0}j=l+f|0;b=j;h=l+g|0;if((c|0)!=(d|0)){e=c;g=j;do{i[g>>0]=i[e>>0]|0;g=b+1|0;b=g;e=e+1|0}while((e|0)!=(d|0));e=k[a>>2]|0}c=p-e|0;d=l+(f-c)|0;vw(d|0,e|0,c|0)|0;p=(k[r>>2]|0)-p|0;c=b;vw(c|0,q|0,p|0)|0;b=k[a>>2]|0;k[a>>2]=d;k[r>>2]=c+p;k[o>>2]=h;if(!b){r=j;return r|0}mj(b);r=j;return r|0}function Ki(a){a=a|0;var b=0;k[a>>2]=36800;b=k[a+8>>2]|0;if(!b)return;a=a+12|0;if((k[a>>2]|0)!=(b|0))k[a>>2]=b;mj(b);return}function Li(a){a=a|0;var b=0,c=0;k[a>>2]=36800;b=k[a+8>>2]|0;if(!b){mj(a);return}c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;mj(b);mj(a);return}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;Ni(b,-1);Ni(b,i[a+4>>0]|0);e=a+12|0;d=a+8|0;a=(k[e>>2]|0)-(k[d>>2]|0)+2|0;Ni(b,(a&65535)>>>8&255);Ni(b,a&255);a=k[d>>2]|0;if((k[e>>2]|0)==(a|0))return;else c=0;do{Ni(b,i[a+c>>0]|0);c=c+1|0;a=k[d>>2]|0}while(c>>>0<((k[e>>2]|0)-a|0)>>>0);return}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=k[a+4>>2]|0;if(e){c=e+24|0;d=k[c>>2]|0;if((d|0)==(k[e+28>>2]|0)){Vb[k[(k[e>>2]|0)+52>>2]&63](e,b&255)|0;return}else{k[c>>2]=d+1;i[d>>0]=b;return}}c=a+16|0;d=k[c>>2]|0;if(d>>>0<(k[a+12>>2]|0)>>>0){k[c>>2]=d+1;i[(k[a+8>>2]|0)+d>>0]=b;return}c=Va(16)|0;x=0;d=Da(1)|0;b=x;x=0;if(b&1){b=Wa()|0;Ua(c|0);fb(b|0)}x=0;Fa(7,c|0,4,d|0);b=x;x=0;if(b&1){b=Wa()|0;Ua(c|0);fb(b|0)}else ub(c|0,824,96)}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;e=(b|0)<4095?(b+128|0)/256|0:16;f=(c*3|0)+2+e|0;d=c+1|0;f=(f|0)<(d|0)|(f|0)>(b|0)?d:f;k[a+4>>2]=f;d=(e<<2|3)+(c*5|0)|0;d=(d|0)>(b|0)|(d|0)<(f|0)?f:d;k[a+8>>2]=d;c=(c*7|0)+4+(e*17|0)|0;k[a+12>>2]=(c|0)>(b|0)|(c|0)<(d|0)?d:c;k[a>>2]=b;k[a+16>>2]=64;return}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+128|0;h=l+100|0;d=l+16|0;c=l+112|0;j=l+4|0;m=l;e=d;f=a+20|0;g=e+84|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));k[d+16>>2]=k[a+4>>2];f=zc(c,d,a+56|0)|0;c=k[(k[f>>2]|0)+16>>2]|0;a=a+8|0;x=0;k[h>>2]=k[a>>2];k[h+4>>2]=k[a+4>>2];k[h+8>>2]=k[a+8>>2];c=Aa(c|0,f|0,h|0)|0;a=x;x=0;do if(a&1)c=Wa()|0;else{e=b+4|0;k[j>>2]=k[e>>2];k[j+4>>2]=k[e+4>>2];k[j+8>>2]=k[e+8>>2];e=b+16|0;a=k[e>>2]|0;h=j+8|0;k[h>>2]=(k[h>>2]|0)-a;h=j+4|0;k[h>>2]=(k[h>>2]|0)+a;h=k[(k[f>>2]|0)+12>>2]|0;k[m>>2]=c;x=0;c=Ea(h|0,f|0,m|0,j|0,((i[b>>0]|0)==0?0:(k[b+8>>2]|0)+a|0)|0)|0;j=x;x=0;if(j&1){c=Wa()|0;d=k[m>>2]|0;k[m>>2]=0;if(!d)break;Lb[k[(k[d>>2]|0)+4>>2]&255](d);break}d=k[m>>2]|0;k[m>>2]=0;if(d)Lb[k[(k[d>>2]|0)+4>>2]&255](d);if(!(k[b+4>>2]|0))k[e>>2]=(k[e>>2]|0)+c;if(!f){r=l;return}Lb[k[(k[f>>2]|0)+4>>2]&255](f);r=l;return}while(0);if(!f)fb(c|0);Lb[k[(k[f>>2]|0)+4>>2]&255](f);fb(c|0)}function Qi(a,b){a=a|0;b=b|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];i[a+12>>0]=0;b=a+16|0;a=b+100|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+32|0;t=u+4|0;o=u+16|0;v=u;Si(a);p=a+16|0;e=k[a+24>>2]|0;a:do if((e+-2|0)>>>0<=14){q=a+40|0;c=k[q>>2]|0;if(c>>>0>2)c=5;else{s=a+32|0;f=k[s>>2]|0;switch(f|0){case 0:{c=1;break a}case 4:{if((c|0)==2){c=2;break a}break}case 3:break;default:if(c){c=2;break a}}n=a+100|0;c=a+108|0;d=k[c>>2]|0;if((d|0)<1){d=k[p>>2]|0;k[c>>2]=d;c=k[a+20>>2]|0;k[a+112>>2]=c}else c=k[a+112>>2]|0;j=Dw(c|0,((c|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;h=(e+7|0)/8|0;h=Dw(j|0,M|0,h|0,((h|0)<0)<<31>>31|0)|0;j=b+4|0;c=k[j>>2]|0;g=b+8|0;if((c|0)!=0?(l=k[g>>2]|0,m=Dw(f|0,((f|0)<0)<<31>>31|0,h|0,M|0)|0,e=M,0<(e|0)|0==(e|0)&l>>>0>>0):0){c=Va(16)|0;x=0;d=Da(1)|0;v=x;x=0;if(!(v&1)?(x=0,Fa(7,c|0,3,d|0),v=x,x=0,!(v&1)):0)ub(c|0,824,96);v=Wa()|0;Ua(c|0);fb(v|0)}l=a+52|0;m=a+12|0;if((f|0)>0)f=0;else{r=u;return}while(1){Ti(a,(f|0)==0);d=xc(o,p,l)|0;e=k[(k[d>>2]|0)+8>>2]|0;x=0;k[t>>2]=k[b>>2];k[t+4>>2]=k[b+4>>2];k[t+8>>2]=k[b+8>>2];e=Aa(e|0,d|0,t|0)|0;w=x;x=0;if(w&1){e=32;break}w=k[(k[d>>2]|0)+16>>2]|0;k[v>>2]=e;x=0;oa(w|0,d|0,v|0,n|0,a|0,(i[m>>0]|0)!=0|0);w=x;x=0;if(w&1){e=30;break}e=k[v>>2]|0;k[v>>2]=0;if(e)Lb[k[(k[e>>2]|0)+4>>2]&255](e);if(!c)c=0;else{c=c+h|0;k[j>>2]=c;k[g>>2]=(k[g>>2]|0)-h}e=(k[q>>2]|0)==0;f=(e&1)+f|0;if(d)Lb[k[(k[d>>2]|0)+4>>2]&255](d);if(!e){e=34;break}if((f|0)>=(k[s>>2]|0)){e=34;break}}if((e|0)==30){c=Wa()|0;e=k[v>>2]|0;k[v>>2]=0;if(e)Lb[k[(k[e>>2]|0)+4>>2]&255](e)}else if((e|0)==32){c=Wa()|0;if(!d){w=c;fb(w|0)}}else if((e|0)==34){r=u;return}Lb[k[(k[d>>2]|0)+4>>2]&255](d);w=c;fb(w|0)}}else c=2;while(0);d=Va(16)|0;x=0;e=Da(1)|0;w=x;x=0;if(!(w&1)?(x=0,Fa(7,d|0,c|0,e|0),w=x,x=0,!(w&1)):0)ub(d|0,824,96);w=Wa()|0;Ua(d|0);fb(w|0)}function Si(a){a=a|0;var b=0,c=0,d=0,e=0;if((Wi(a)|0)<<24>>24!=-40){b=Va(16)|0;x=0;c=Da(1)|0;e=x;x=0;if(!(e&1)?(x=0,Fa(7,b|0,5,c|0),e=x,x=0,!(e&1)):0)ub(b|0,824,96);e=Wa()|0;Ua(b|0);fb(e|0)}b=Wi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Vi(a)|0)&255)<<8;d=d|(Vi(a)|0)&255;b=Xi(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Vi(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Wi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Va(16)|0;x=0;c=Da(1)|0;e=x;x=0;if(!(e&1)?(x=0,Fa(7,b|0,5,c|0),e=x,x=0,!(e&1)):0)ub(b|0,824,96);e=Wa()|0;Ua(b|0);fb(e|0)}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){if((Vi(a)|0)<<24>>24!=-1){b=Va(16)|0;x=0;c=Da(1)|0;a=x;x=0;if(!(a&1)?(x=0,Fa(7,b|0,12,c|0),a=x,x=0,!(a&1)):0)ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}if((Vi(a)|0)<<24>>24!=-38){b=Va(16)|0;x=0;c=Da(1)|0;a=x;x=0;if(!(a&1)?(x=0,Fa(7,b|0,5,c|0),a=x,x=0,!(a&1)):0)ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}}Vi(a)|0;Vi(a)|0;c=Vi(a)|0;d=c&255;do if(c<<24>>24==1){Vi(a)|0;c=0;e=20}else{if((d|0)==(k[a+32>>2]|0)){b=Vi(a)|0;if(!(c<<24>>24))break;else{c=0;e=20;break}}b=Va(16)|0;x=0;c=Da(1)|0;a=x;x=0;if(!(a&1)?(x=0,Fa(7,b|0,2,c|0),a=x,x=0,!(a&1)):0)ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}while(0);if((e|0)==20)while(1){Vi(a)|0;c=c+1|0;b=Vi(a)|0;if((c|0)==(d|0))break;else e=20}k[a+36>>2]=b&255;e=Vi(a)|0;c=a+40|0;k[c>>2]=e&255;if((e&255)>=3){b=Va(16)|0;x=0;c=Da(1)|0;a=x;x=0;if(!(a&1)?(x=0,Fa(7,b|0,5,c|0),a=x,x=0,!(a&1)):0)ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}if((Vi(a)|0)<<24>>24){b=Va(16)|0;x=0;c=Da(1)|0;a=x;x=0;if(!(a&1)?(x=0,Fa(7,b|0,5,c|0),a=x,x=0,!(a&1)):0)ub(b|0,824,96);a=Wa()|0;Ua(b|0);fb(a|0)}d=a+28|0;if(k[d>>2]|0)return;b=k[a+108>>2]|0;if(!b)b=k[a+16>>2]|0;if(!(k[c>>2]|0))c=1;else c=k[a+32>>2]|0;e=ia(c,b)|0;a=ia(e,((k[a+24>>2]|0)+7|0)/8|0)|0;k[d>>2]=a;return}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c|0)<=0)return;n=b+4|0;o=b+8|0;q=0;do{p=Vi(a)|0;d=k[n>>2]|0;e=k[o>>2]|0;if(d>>>0>=e>>>0){f=k[b>>2]|0;g=f;h=d-g+1|0;if((h|0)<0){jj(b);g=k[b>>2]|0;e=k[o>>2]|0;f=g}m=f;d=e-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=k[n>>2]|0;e=h-m|0;if(!d){l=0;j=0;d=h}else r=10}else{e=k[n>>2]|0;d=2147483647;h=e;e=e-m|0;r=10}if((r|0)==10){r=0;l=d;j=lj(d)|0;d=h}i[j+e>>0]=p;m=d-m|0;p=j+(e-m)|0;vw(p|0,f|0,m|0)|0;k[b>>2]=p;k[n>>2]=j+(e+1);k[o>>2]=j+l;if(g)mj(g)}else{i[d>>0]=p;k[n>>2]=(k[n>>2]|0)+1}q=q+1|0}while((q|0)!=(c|0));return}function Vi(a){a=a|0;var b=0,c=0,d=0,e=0;c=k[a>>2]|0;if(c){a=c+12|0;b=k[a>>2]|0;if((b|0)==(k[c+16>>2]|0))a=Ob[k[(k[c>>2]|0)+40>>2]&127](c)|0;else{k[a>>2]=b+1;a=l[b>>0]|0}e=a&255;return e|0}d=a+8|0;e=k[d>>2]|0;if(e){a=a+4|0;b=k[a>>2]|0;c=i[b>>0]|0;if(!b){e=c;return e|0}k[a>>2]=b+1;k[d>>2]=e+-1;e=c;return e|0}a=Va(16)|0;x=0;b=Da(1)|0;e=x;x=0;if(e&1){e=Wa()|0;Ua(a|0);fb(e|0)}x=0;Fa(7,a|0,4,b|0);e=x;x=0;if(e&1){e=Wa()|0;Ua(a|0);fb(e|0)}else ub(a|0,824,96);return 0}function Wi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=r;r=r+176|0;b=c+152|0;i=c+16|0;g=c;h=Vi(a)|0;d=h&255;if(h<<24>>24==-1){do b=Vi(a)|0;while(b<<24>>24==-1);r=c;return b|0}h=i+56|0;f=i+4|0;k[i>>2]=36160;k[h>>2]=36180;x=0;ra(62,i+56|0,f|0);e=x;x=0;if(e&1){i=Wa()|0;qn(h);fb(i|0)}k[i+128>>2]=0;k[i+132>>2]=-1;k[i>>2]=36200;k[i+56>>2]=36220;x=0;qa(180,f|0);e=x;x=0;do if(e&1)b=Wa()|0;else{k[f>>2]=36236;e=i+36|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[i+52>>2]=16;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;x=0;ra(63,f|0,b|0);c=x;x=0;if(c&1){i=Wa()|0;Sm(b);Sm(e);xn(f);b=i;break}Sm(b);k[i+((k[(k[i>>2]|0)+-12>>2]|0)+76)>>2]=48;x=0;b=va(28,i|0,50907,62)|0;c=x;x=0;if(!(c&1)?(c=b+((k[(k[b>>2]|0)+-12>>2]|0)+4)|0,k[c>>2]=k[c>>2]&-75|8,c=b+((k[(k[b>>2]|0)+-12>>2]|0)+4)|0,k[c>>2]=k[c>>2]|16384,k[b+((k[(k[b>>2]|0)+-12>>2]|0)+12)>>2]=2,x=0,Aa(38,b|0,d|0)|0,d=x,x=0,!(d&1)):0){c=Va(16)|0;x=0;ra(64,g|0,f|0);d=x;x=0;if(!(d&1)){x=0;b=Da(1)|0;d=x;x=0;if(!(d&1)?(x=0,Ja(36,c|0,12,b|0,g|0),d=x,x=0,!(d&1)):0){x=0;Fa(6,c|0,824,96);x=0;a=0}else a=1;b=Wa()|0;Sm(g);if(!a){g=b;k[i>>2]=36200;k[h>>2]=36220;k[f>>2]=36236;Sm(e);xn(f);qn(h);fb(g|0)}}else b=Wa()|0;Ua(c|0);g=b;k[i>>2]=36200;k[h>>2]=36220;k[f>>2]=36236;Sm(e);xn(f);qn(h);fb(g|0)}g=Wa()|0;k[i>>2]=36200;k[h>>2]=36220;k[f>>2]=36236;Sm(e);xn(f);qn(h);fb(g|0)}while(0);i=b;qn(h);fb(i|0);return 0}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;c=r;r=r+320|0;h=c+300|0;l=c+152|0;i=c+288|0;m=c+16|0;j=c;switch(b<<24>>24){case -9:{n=(Vi(a)|0)&255;k[a+24>>2]=n;n=((Vi(a)|0)&255)<<8|(Vi(a)|0)&255;m=((Vi(a)|0)&255)<<8|(Vi(a)|0)&255;k[a+16>>2]=m;k[a+20>>2]=n;n=(Vi(a)|0)&255;k[a+32>>2]=n;n=6;r=c;return n|0}case -8:{n=Yi(a)|0;r=c;return n|0}case -24:{n=Zi(a)|0;r=c;return n|0}case -53:case -54:case -55:case -57:case -58:case -59:case -61:case -62:case -63:case -64:{g=l+56|0;e=l+4|0;k[l>>2]=36160;k[g>>2]=36180;x=0;ra(62,l+56|0,e|0);m=x;x=0;if(m&1){n=Wa()|0;qn(g);fb(n|0)}k[l+128>>2]=0;k[l+132>>2]=-1;k[l>>2]=36200;k[l+56>>2]=36220;x=0;qa(180,e|0);m=x;x=0;do if(m&1)a=Wa()|0;else{k[e>>2]=36236;f=l+36|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[l+52>>2]=16;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;x=0;ra(63,e|0,h|0);m=x;x=0;if(m&1){a=Wa()|0;Sm(h);Sm(f);xn(e);break}Sm(h);x=0;a=va(28,l|0,50970,26)|0;m=x;x=0;do if((!(m&1)?(x=0,d=Aa(38,a|0,b&255|0)|0,m=x,x=0,!(m&1)):0)?(x=0,va(28,d|0,50997,18)|0,m=x,x=0,!(m&1)):0){d=Va(16)|0;x=0;ra(64,i|0,e|0);m=x;x=0;if(!(m&1)){x=0;a=Da(1)|0;m=x;x=0;if(!(m&1)?(x=0,Ja(36,d|0,10,a|0,i|0),m=x,x=0,!(m&1)):0){x=0;Fa(6,d|0,824,96);x=0;c=0}else c=1;a=Wa()|0;Sm(i);if(!c)break}else a=Wa()|0;Ua(d|0)}else n=20;while(0);if((n|0)==20)a=Wa()|0;k[l>>2]=36200;k[g>>2]=36220;k[e>>2]=36236;Sm(f);xn(e);qn(g);n=a;fb(n|0)}while(0);n=a;qn(g);fb(n|0)}case -25:case -32:case -2:{n=0;r=c;return n|0}default:{i=m+56|0;f=m+4|0;k[m>>2]=36160;k[i>>2]=36180;x=0;ra(62,m+56|0,f|0);l=x;x=0;if(l&1){n=Wa()|0;qn(i);fb(n|0)}k[m+128>>2]=0;k[m+132>>2]=-1;k[m>>2]=36200;k[m+56>>2]=36220;x=0;qa(180,f|0);l=x;x=0;do if(l&1)a=Wa()|0;else{k[f>>2]=36236;g=m+36|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[m+52>>2]=16;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;x=0;ra(63,f|0,h|0);l=x;x=0;if(l&1){a=Wa()|0;Sm(h);Sm(g);xn(f);break}Sm(h);x=0;a=va(28,m|0,51016,20)|0;l=x;x=0;do if((!(l&1)?(x=0,e=Aa(38,a|0,b&255|0)|0,l=x,x=0,!(l&1)):0)?(x=0,va(28,e|0,51037,13)|0,l=x,x=0,!(l&1)):0){d=Va(16)|0;x=0;ra(64,j|0,f|0);l=x;x=0;if(!(l&1)){x=0;a=Da(1)|0;l=x;x=0;if(!(l&1)?(x=0,Ja(36,d|0,11,a|0,j|0),l=x,x=0,!(l&1)):0){x=0;Fa(6,d|0,824,96);x=0;c=0}else c=1;a=Wa()|0;Sm(j);if(!c)break}else a=Wa()|0;Ua(d|0)}else n=40;while(0);if((n|0)==40)a=Wa()|0;k[m>>2]=36200;k[i>>2]=36220;k[f>>2]=36236;Sm(g);xn(f);qn(i);n=a;fb(n|0)}while(0);n=a;qn(i);fb(n|0)}}return 0}function Yi(a){a=a|0;var b=0;if((Vi(a)|0)<<24>>24!=1){a=1;return a|0}b=((Vi(a)|0)&255)<<8;b=b|(Vi(a)|0)&255;k[a+52>>2]=b;b=((Vi(a)|0)&255)<<8;b=b|(Vi(a)|0)&255;k[a+56>>2]=b;b=((Vi(a)|0)&255)<<8;b=b|(Vi(a)|0)&255;k[a+60>>2]=b;b=((Vi(a)|0)&255)<<8;b=b|(Vi(a)|0)&255;k[a+64>>2]=b;b=((Vi(a)|0)&255)<<8;b=b|(Vi(a)|0)&255;k[a+68>>2]=b;a=11;return a|0}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;e=c;k[e>>2]=0;f=e+4|0;k[f>>2]=0;k[e+8>>2]=0;x=0;Fa(9,a|0,e|0,4);b=x;x=0;a:do if(b&1)d=3;else{b=k[e>>2]|0;b:do if(!(yl(b,51051,4)|0)){x=0;b=ta(69,a|0)|0;g=x;x=0;if(g&1){d=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{k[a+44>>2]=b;a=5;b=k[e>>2]|0;break b}case 5:case 4:{b=Va(16)|0;x=0;a=Da(1)|0;g=x;x=0;if(!(g&1)?(x=0,Fa(7,b|0,7,a|0),g=x,x=0,!(g&1)):0){x=0;Fa(6,b|0,824,96);x=0;d=3;break a}a=Wa()|0;Ua(b|0);break a}default:{b=Va(16)|0;x=0;a=Da(1)|0;g=x;x=0;if(!(g&1)?(x=0,Fa(7,b|0,5,a|0),g=x,x=0,!(g&1)):0){x=0;Fa(6,b|0,824,96);x=0;d=3;break a}a=Wa()|0;Ua(b|0);break a}}}else a=4;while(0);if(!b){r=c;return a|0}if((k[f>>2]|0)!=(b|0))k[f>>2]=b;mj(b);r=c;return a|0}while(0);if((d|0)==3)a=Wa()|0;b=k[e>>2]|0;if(!b)fb(a|0);if((k[f>>2]|0)!=(b|0))k[f>>2]=b;mj(b);fb(a|0);return 0}function _i(a){a=a|0;var b=0,c=0,d=0;d=k[(k[a>>2]|0)+-12>>2]|0;k[a+d>>2]=36200;b=a+(d+56)|0;k[b>>2]=36220;c=a+(d+4)|0;k[c>>2]=36236;Sm(a+(d+36)|0);xn(c);qn(b);return}function $i(a){a=a|0;return}function aj(a){a=a|0;mj(a);return}function bj(a){a=a|0;i[a>>0]=0;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e;b=Gi(b)|0;k[f>>2]=b;c=a+28|0;d=k[c>>2]|0;if(d>>>0<(k[a+32>>2]|0)>>>0){k[d>>2]=b;k[c>>2]=d+4;k[f>>2]=0;r=e;return}x=0;ra(57,a+24|0,f|0);a=x;x=0;if(a&1){b=Wa()|0;c=k[f>>2]|0;k[f>>2]=0;if(!c)fb(b|0);Lb[k[(k[c>>2]|0)+4>>2]&255](c);fb(b|0)}else{b=k[f>>2]|0;k[f>>2]=0;if(!b){r=e;return}Lb[k[(k[b>>2]|0)+4>>2]&255](b);r=e;return}}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=a+4|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];k[d+8>>2]=k[b+8>>2];Ni(a,-1);Ni(a,-40);d=a+28|0;e=a+24|0;b=k[e>>2]|0;if((k[d>>2]|0)==(b|0)){Ni(a,-1);Ni(a,-39);a=a+16|0;a=k[a>>2]|0;return a|0}else c=0;do{f=k[b+(c<<2)>>2]|0;Mb[k[(k[f>>2]|0)+8>>2]&127](f,a);c=c+1|0;b=k[e>>2]|0}while(c>>>0<(k[d>>2]|0)-b>>2>>>0);Ni(a,-1);Ni(a,-39);f=a+16|0;f=k[f>>2]|0;return f|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+48|0;h=m+32|0;e=m+12|0;i=m+8|0;l=m+4|0;n=m;d=c+36|0;do if(((((k[d>>2]|0)==0?(k[c+40>>2]|0)==0:0)?(k[c+44>>2]|0)==0:0)?(k[c+48>>2]|0)==0:0)?(k[c+52>>2]|0)==0:0){d=k[c+8>>2]|0;if((d|0)<=12){f=a+28|0;g=a+32|0;break}Oi(e,(1<>2]|0);d=Fi(e)|0;k[i>>2]=d;f=a+28|0;e=k[f>>2]|0;g=a+32|0;if(e>>>0<(k[g>>2]|0)>>>0){k[e>>2]=d;k[f>>2]=e+4;k[i>>2]=0;break}x=0;ra(57,a+24|0,i|0);h=x;x=0;if(!(h&1)){d=k[i>>2]|0;k[i>>2]=0;if(!d)break;Lb[k[(k[d>>2]|0)+4>>2]&255](d);break}c=Wa()|0;d=k[i>>2]|0;k[i>>2]=0;if(!d){n=c;fb(n|0)}Lb[k[(k[d>>2]|0)+4>>2]&255](d);n=c;fb(n|0)}else j=6;while(0);do if((j|0)==6){d=Fi(d)|0;k[h>>2]=d;f=a+28|0;e=k[f>>2]|0;g=a+32|0;if(e>>>0<(k[g>>2]|0)>>>0){k[e>>2]=d;k[f>>2]=e+4;k[h>>2]=0;break}x=0;ra(57,a+24|0,h|0);j=x;x=0;if(!(j&1)){d=k[h>>2]|0;k[h>>2]=0;if(!d)break;Lb[k[(k[d>>2]|0)+4>>2]&255](d);break}c=Wa()|0;d=k[h>>2]|0;k[h>>2]=0;if(!d){n=c;fb(n|0)}Lb[k[(k[d>>2]|0)+4>>2]&255](d);n=c;fb(n|0)}while(0);d=a+20|0;e=(k[d>>2]|0)+1|0;k[d>>2]=e;d=k[c+24>>2]|0;h=(d|0)==0?1:k[c+16>>2]|0;d=Hi(e,h,k[c+20>>2]|0,d)|0;k[l>>2]=d;e=k[f>>2]|0;do if(e>>>0<(k[g>>2]|0)>>>0){k[e>>2]=d;k[f>>2]=e+4;k[l>>2]=0}else{x=0;ra(57,a+24|0,l|0);j=x;x=0;if(!(j&1)){d=k[l>>2]|0;k[l>>2]=0;if(!d)break;Lb[k[(k[d>>2]|0)+4>>2]&255](d);break}c=Wa()|0;d=k[l>>2]|0;k[l>>2]=0;if(!d){n=c;fb(n|0)}Lb[k[(k[d>>2]|0)+4>>2]&255](d);n=c;fb(n|0)}while(0);i=lj(104)|0;k[i>>2]=36820;k[i+4>>2]=h;e=i+8|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];e=i+20|0;d=e+84|0;do{k[e>>2]=k[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));k[n>>2]=i;c=k[f>>2]|0;if(c>>>0<(k[g>>2]|0)>>>0){k[c>>2]=i;k[f>>2]=c+4;k[n>>2]=0;r=m;return}x=0;ra(57,a+24|0,n|0);a=x;x=0;if(a&1){c=Wa()|0;d=k[n>>2]|0;k[n>>2]=0;if(!d){n=c;fb(n|0)}Lb[k[(k[d>>2]|0)+4>>2]&255](d);n=c;fb(n|0)}else{c=k[n>>2]|0;k[n>>2]=0;if(!c){r=m;return}Lb[k[(k[c>>2]|0)+4>>2]&255](c);r=m;return}}function fj(a,b,c,d,e,f,g,h,j,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=r;r=r+96|0;o=p;n=sc(a,b,o,0)|0;if(n){e=n;r=p;return e|0}i[o+32>>0]=0;s=k[o+8>>2]|0;u=k[o>>2]|0;t=k[o+4>>2]|0;n=ia(t,u)|0;q=k[o+16>>2]|0;n=ia(ia(n,(s|0)<9?1:2)|0,q)|0;k[d>>2]=n;n=Pl(n)|0;k[c>>2]=n;k[e>>2]=u;k[f>>2]=t;k[g>>2]=s;k[h>>2]=k[o+12>>2];k[j>>2]=q;k[l>>2]=k[o+20>>2];k[m>>2]=k[o+24>>2];e=tc(n,k[d>>2]|0,a,b,0,0)|0;r=p;return e|0}function gj(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0;m=r;r=r+96|0;j=m+4|0;g=m;l=j;n=l+84|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(n|0));k[j+16>>2]=f;k[j+8>>2]=e;k[j>>2]=c;k[j+4>>2]=d;c=Pl(b)|0;k[h>>2]=c;k[g>>2]=0;c=rc(h,b,g,a,b,j,0)|0;k[i>>2]=k[g>>2];r=m;return c|0}function hj(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[9320]|0;ml(b,a,c)|0;el(10,b)|0;Pa()}function ij(a){a=a|0;Ta(51337,51366,1164,51442)}function jj(a){a=a|0;Ta(51463,51486,303,51442)}function kj(){var a=0,b=0;a=r;r=r+16|0;if(!(mb(37024,4)|0)){b=ib(k[9255]|0)|0;r=a;return b|0}else hj(51562,a);return 0}function lj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Pl(b)|0;a:do if(!a){while(1){a=uj()|0;if(!a)break;$b[a&7]();a=Pl(b)|0;if(a)break a}b=Va(4)|0;k[b>>2]=36844;ub(b|0,592,78)}while(0);return a|0}function mj(a){a=a|0;Ql(a);return}function nj(a){a=a|0;mj(a);return}function oj(a){a=a|0;k[a>>2]=36844;return}function pj(a){a=a|0;return}function qj(a){a=a|0;mj(a);return}function rj(a){a=a|0;return 51611}function sj(a){a=a|0;var b=0;b=r;r=r+16|0;x=0;Ga(a|0);a=x;x=0;if(!(a&1)){x=0;ra(85,51626,b|0);x=0}a=Wa(0)|0;cb(a|0)|0;x=0;ra(85,51666,b+8|0);x=0;a=Wa(0)|0;x=0;Ga(3);b=x;x=0;if(b&1){b=Wa(0)|0;oc(b)}else oc(a)}function tj(){var a=0,b=0,c=0;x=0;a=Da(2)|0;c=x;x=0;if(c&1){c=Wa(0)|0;oc(c)}if(((a|0)!=0?(b=k[a>>2]|0,(b|0)!=0):0)?(c=b+48|0,(k[c>>2]&-256|0)==1126902528?(k[c+4>>2]|0)==1129074247:0):0)sj(k[b+12>>2]|0);c=k[9208]|0;k[9208]=c+0;sj(c)}function uj(){var a=0;a=k[9214]|0;k[9214]=a+0;return a|0}function vj(a){a=a|0;return}function wj(a){a=a|0;k[a>>2]=36868;dk(a+4|0);return}function xj(a){a=a|0;wj(a);mj(a);return}function yj(a){a=a|0;return k[a+4>>2]|0}function zj(a){a=a|0;return}function Aj(a){a=a|0;k[a>>2]=36888;return}function Bj(a){a=a|0;return}function Cj(a){a=a|0;mj(a);return}function Dj(a){a=a|0;return 51716}function Ej(a){a=a|0;return}function Fj(a){a=a|0;return}function Gj(a){a=a|0;return}function Hj(a){a=a|0;mj(a);return}function Ij(a){a=a|0;mj(a);return}function Jj(a){a=a|0;mj(a);return}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)!=(b|0))if((b|0)!=0?(e=Qj(b,656,672,0)|0,(e|0)!=0):0){b=f;d=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[f>>2]=e;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;cc[k[(k[e>>2]|0)+28>>2]&63](e,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function Mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Lj(0,b,c,d);return}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Lj(0,b,c,d);else{a=k[a+8>>2]|0;cc[k[(k[a>>2]|0)+28>>2]&63](a,b,c,d)}return}function Oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=k[a+4>>2]|0;e=f>>8;if(f&1)e=k[(k[c>>2]|0)+e>>2]|0;a=k[a>>2]|0;cc[k[(k[a>>2]|0)+28>>2]&63](a,b,c+e|0,(f&2|0)!=0?d:2);return}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((a|0)!=(k[b+8>>2]|0)){f=k[a+12>>2]|0;e=a+16+(f<<3)|0;Oj(a+16|0,b,c,d);if((f|0)>1){f=b+54|0;a=a+24|0;do{Oj(a,b,c,d);if(i[f>>0]|0)break a;a=a+8|0}while(a>>>0>>0)}}else Lj(0,b,c,d);while(0);return}function Qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;d=p+16|0;a=p+20|0;b=p+24|0;e=p+28|0;f=p+32|0;g=p+40|0;h=(o|0)==(c|0);l=d;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[d+36>>1]=0;i[d+38>>0]=0;a:do if(h){k[p+48>>2]=1;Sb[k[(k[c>>2]|0)+20>>2]&15](c,p,n,n,1,0);d=(k[b>>2]|0)==1?n:0}else{Jb[k[(k[o>>2]|0)+24>>2]&15](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[g>>2]|0)==1&(k[e>>2]|0)==1&(k[f>>2]|0)==1?k[a>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[b>>2]|0)!=1?!((k[g>>2]|0)==0&(k[e>>2]|0)==1&(k[f>>2]|0)==1):0){d=0;break}d=k[d>>2]|0}while(0);r=q;return d|0}function Rj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Sj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){q=k[a+12>>2]|0;h=a+16+(q<<3)|0;Uj(a+16|0,b,c,d,e);f=a+24|0;if((q|0)<=1)break;g=k[a+8>>2]|0;if((g&2|0)==0?(j=b+36|0,(k[j>>2]|0)!=1):0){if(!(g&1)){g=b+54|0;while(1){if(i[g>>0]|0)break a;if((k[j>>2]|0)==1)break a;Uj(f,b,c,d,e);f=f+8|0;if(f>>>0>=h>>>0)break a}}g=b+24|0;a=b+54|0;while(1){if(i[a>>0]|0)break a;if((k[j>>2]|0)==1?(k[g>>2]|0)==1:0)break a;Uj(f,b,c,d,e);f=f+8|0;if(f>>>0>=h>>>0)break a}}g=b+54|0;while(1){if(i[g>>0]|0)break a;Uj(f,b,c,d,e);f=f+8|0;if(f>>>0>=h>>>0)break a}}if((k[b+16>>2]|0)!=(c|0)?(p=b+20|0,(k[p>>2]|0)!=(c|0)):0){k[b+32>>2]=d;m=b+44|0;if((k[m>>2]|0)==4)break;g=k[a+12>>2]|0;h=a+16+(g<<3)|0;j=b+52|0;d=b+53|0;n=b+54|0;l=a+8|0;o=b+24|0;b:do if((g|0)>0){g=0;f=0;a=a+16|0;while(1){i[j>>0]=0;i[d>>0]=0;Tj(a,b,c,c,1,e);if(i[n>>0]|0){q=20;break b}do if(i[d>>0]|0){if(!(i[j>>0]|0))if(!(k[l>>2]&1)){f=1;q=20;break b}else{f=1;break}if((k[o>>2]|0)==1)break b;if(!(k[l>>2]&2))break b;else{g=1;f=1}}while(0);a=a+8|0;if(a>>>0>=h>>>0){q=20;break}}}else{g=0;f=0;q=20}while(0);do if((q|0)==20){if((!g?(k[p>>2]=c,c=b+40|0,k[c>>2]=(k[c>>2]|0)+1,(k[b+36>>2]|0)==1):0)?(k[o>>2]|0)==2:0){i[n>>0]=1;if(f)break}else q=24;if((q|0)==24?f:0)break;k[m>>2]=4;break a}while(0);k[m>>2]=3;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=k[a+4>>2]|0;g=h>>8;if(h&1)g=k[(k[d>>2]|0)+g>>2]|0;a=k[a>>2]|0;Sb[k[(k[a>>2]|0)+20>>2]&15](a,b,c,d+g|0,(h&2|0)!=0?e:2,f);return}function Uj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=k[a+4>>2]|0;f=g>>8;if(g&1)f=k[(k[c>>2]|0)+f>>2]|0;a=k[a>>2]|0;Jb[k[(k[a>>2]|0)+24>>2]&15](a,b,c+f|0,(g&2|0)!=0?d:2,e);return}function Vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;a:do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;Jb[k[(k[h>>2]|0)+24>>2]&15](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[b+32>>2]=d;d=b+44|0;if((k[d>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;j=b+53|0;i[j>>0]=0;a=k[a+8>>2]|0;Sb[k[(k[a>>2]|0)+20>>2]&15](a,b,c,c,1,e);if(i[j>>0]|0){if(!(i[f>>0]|0)){f=1;h=13}}else{f=0;h=13}do if((h|0)==13){k[g>>2]=c;j=b+40|0;k[j>>2]=(k[j>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f)break}else h=16;if((h|0)==16?f:0)break;k[d>>2]=4;break a}while(0);k[d>>2]=3;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Wj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(g=b+28|0,(k[g>>2]|0)!=1):0)k[g>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[f>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Xj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if((a|0)==(k[b+8>>2]|0))Rj(0,b,c,d,e);else{m=b+52|0;n=i[m>>0]|0;o=b+53|0;p=i[o>>0]|0;l=k[a+12>>2]|0;g=a+16+(l<<3)|0;i[m>>0]=0;i[o>>0]=0;Tj(a+16|0,b,c,d,e,f);a:do if((l|0)>1){h=b+24|0;j=a+8|0;l=b+54|0;a=a+24|0;do{if(i[l>>0]|0)break a;if(!(i[m>>0]|0)){if((i[o>>0]|0)!=0?(k[j>>2]&1|0)==0:0)break a}else{if((k[h>>2]|0)==1)break a;if(!(k[j>>2]&2))break a}i[m>>0]=0;i[o>>0]=0;Tj(a,b,c,d,e,f);a=a+8|0}while(a>>>0>>0)}while(0);i[m>>0]=n;i[o>>0]=p}return}function Yj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Rj(0,b,c,d,e);else{a=k[a+8>>2]|0;Sb[k[(k[a>>2]|0)+20>>2]&15](a,b,c,d,e,f)}return}function Zj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Rj(0,b,c,d,e);return}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=Qb[k[(k[a>>2]|0)+16>>2]&63](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function $j(a){a=a|0;if(!a)a=0;else a=(Qj(a,656,704,0)|0)!=0;return a&1|0}function ak(){var a=0;a=Va(4)|0;oj(a);ub(a|0,592,78)}function bk(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=kj()|0;if((a|0)!=0?(d=k[a>>2]|0,(d|0)!=0):0){a=d+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[c>>2]=k[9257];hj(51919,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(Qb[k[(k[608>>2]|0)+16>>2]&63](608,d,e)|0){h=k[e>>2]|0;e=k[9257]|0;h=Ob[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;hj(51833,f)}else{k[h>>2]=k[9257];k[h+4>>2]=a;hj(51878,h)}}hj(51957,g)}function ck(){var a=0;a=r;r=r+16|0;if(!(Oa(37020,184)|0)){r=a;return}else hj(51730,a)}function dk(a){a=a|0;var b=0,c=0;c=(k[a>>2]|0)+-4|0;b=k[c>>2]|0;k[c>>2]=b+-1;if((b+-1|0)<0)mj((k[a>>2]|0)+-12|0);return}function ek(a){a=a|0;var b=0;b=r;r=r+16|0;Ql(a);if(!(sb(k[9255]|0,0)|0)){r=b;return}else hj(51780,b)}function fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=rl(a,b,c)|0;return a|0}function gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=sl(a,b,c)|0;return a|0}function hk(){return 37296}function ik(){return 37300}function jk(){return 37304}function kk(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function lk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function mk(){var a=0;if(!(k[9258]|0))a=37308;else{a=(kb()|0)+60|0;a=k[a>>2]|0}return a|0}function nk(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[51978+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=52066;c=5;break}}if((c|0)==2)if(!b)a=52066;else{a=52066;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0,g=0,h=0,j=0.0,m=0,n=0,o=0,p=0.0,q=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0;K=r;r=r+512|0;G=K;switch(b|0){case 0:{J=24;I=-149;y=4;break}case 1:{J=53;I=-1074;y=4;break}case 2:{J=53;I=-1074;y=4;break}default:d=0.0}a:do if((y|0)==4){D=a+4|0;A=a+100|0;do{b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0}while((kk(b)|0)!=0);b:do switch(b|0){case 43:case 45:{e=1-(((b|0)==45&1)<<1)|0;b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;H=e;break b}else{b=rk(a)|0;H=e;break b}}default:H=1}while(0);e=b;b=0;do{if((e|32|0)!=(i[53870+b>>0]|0))break;do if(b>>>0<7){e=k[D>>2]|0;if(e>>>0<(k[A>>2]|0)>>>0){k[D>>2]=e+1;e=l[e>>0]|0;break}else{e=rk(a)|0;break}}while(0);b=b+1|0}while(b>>>0<8);c:do switch(b|0){case 8:break;case 3:{y=23;break}default:{g=(c|0)!=0;if(g&b>>>0>3)if((b|0)==8)break c;else{y=23;break c}d:do if(!b){b=0;do{if((e|32|0)!=(i[56747+b>>0]|0))break d;do if(b>>>0<2){e=k[D>>2]|0;if(e>>>0<(k[A>>2]|0)>>>0){k[D>>2]=e+1;e=l[e>>0]|0;break}else{e=rk(a)|0;break}}while(0);b=b+1|0}while(b>>>0<3)}while(0);switch(b|0){case 3:{b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if((b|0)==40)b=1;else{if(!(k[A>>2]|0)){d=B;break a}k[D>>2]=(k[D>>2]|0)+-1;d=B;break a}while(1){e=k[D>>2]|0;if(e>>>0<(k[A>>2]|0)>>>0){k[D>>2]=e+1;e=l[e>>0]|0}else e=rk(a)|0;if(!((e+-48|0)>>>0<10|(e+-65|0)>>>0<26)?!((e|0)==95|(e+-97|0)>>>0<26):0)break;b=b+1|0}if((e|0)==41){d=B;break a}e=(k[A>>2]|0)==0;if(!e)k[D>>2]=(k[D>>2]|0)+-1;if(!g){J=mk()|0;k[J>>2]=22;qk(a,0);d=0.0;break a}if(!b){d=B;break a}while(1){b=b+-1|0;if(!e)k[D>>2]=(k[D>>2]|0)+-1;if(!b){d=B;break a}}}case 0:{do if((e|0)==48){b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if((b|32|0)!=120){if(!(k[A>>2]|0)){b=48;break}k[D>>2]=(k[D>>2]|0)+-1;b=48;break}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;g=0}else{b=rk(a)|0;g=0}e:while(1){switch(b|0){case 46:{y=74;break e}case 48:break;default:{w=0;h=0;v=0;e=0;m=g;n=0;u=0;j=1.0;g=0;d=0.0;break e}}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;g=1;continue}else{b=rk(a)|0;g=1;continue}}if((y|0)==74){b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if((b|0)==48){g=0;e=0;do{b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;g=tw(g|0,e|0,-1,-1)|0;e=M}while((b|0)==48);w=0;h=0;v=g;m=1;n=1;u=0;j=1.0;g=0;d=0.0}else{w=0;h=0;v=0;e=0;m=g;n=1;u=0;j=1.0;g=0;d=0.0}}while(1){s=b+-48|0;o=b|32;if(s>>>0>=10){t=(b|0)==46;if(!(t|(o+-97|0)>>>0<6)){o=v;s=w;break}if(t)if(!n){t=h;e=w;s=w;n=1;o=u;f=j}else{o=v;s=w;b=46;break}else y=86}else y=86;if((y|0)==86){y=0;b=(b|0)>57?o+-87|0:s;do if(!((w|0)<0|(w|0)==0&h>>>0<8)){if((w|0)<0|(w|0)==0&h>>>0<14){q=j*.0625;o=u;f=q;d=d+q*+(b|0);break}if((u|0)!=0|(b|0)==0){o=u;f=j}else{o=1;f=j;d=d+j*.5}}else{o=u;f=j;g=b+(g<<4)|0}while(0);h=tw(h|0,w|0,1,0)|0;t=v;s=M;m=1}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;w=s;v=t;b=l[b>>0]|0;u=o;j=f;continue}else{w=s;v=t;b=rk(a)|0;u=o;j=f;continue}}if(!m){b=(k[A>>2]|0)==0;if(!b)k[D>>2]=(k[D>>2]|0)+-1;if(c){if(!b?(x=k[D>>2]|0,k[D>>2]=x+-1,(n|0)!=0):0)k[D>>2]=x+-2}else qk(a,0);d=+(H|0)*0.0;break a}m=(n|0)==0;n=m?h:o;m=m?s:e;if((s|0)<0|(s|0)==0&h>>>0<8){e=s;do{g=g<<4;h=tw(h|0,e|0,1,0)|0;e=M}while((e|0)<0|(e|0)==0&h>>>0<8)}if((b|32|0)==112){e=Dl(a,c)|0;b=M;if((e|0)==0&(b|0)==-2147483648){if(!c){qk(a,0);d=0.0;break a}if(!(k[A>>2]|0)){e=0;b=0}else{k[D>>2]=(k[D>>2]|0)+-1;e=0;b=0}}}else if(!(k[A>>2]|0)){e=0;b=0}else{k[D>>2]=(k[D>>2]|0)+-1;e=0;b=0}G=ww(n|0,m|0,2)|0;G=tw(G|0,M|0,-32,-1)|0;b=tw(G|0,M|0,e|0,b|0)|0;e=M;if(!g){d=+(H|0)*0.0;break a}if((e|0)>0|(e|0)==0&b>>>0>(0-I|0)>>>0){J=mk()|0;k[J>>2]=34;d=+(H|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}G=I+-106|0;F=((G|0)<0)<<31>>31;if((e|0)<(F|0)|(e|0)==(F|0)&b>>>0>>0){J=mk()|0;k[J>>2]=34;d=+(H|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((g|0)>-1){do{F=!(d>=.5);G=F&1|g<<1;g=G^1;d=d+(F?d:d+-1.0);b=tw(b|0,e|0,-1,-1)|0;e=M}while((G|0)>-1);h=b;j=d}else{h=b;j=d}b=rw(32,0,I|0,((I|0)<0)<<31>>31|0)|0;b=tw(h|0,e|0,b|0,M|0)|0;I=M;if(0>(I|0)|0==(I|0)&J>>>0>b>>>0)if((b|0)<0){b=0;y=127}else y=125;else{b=J;y=125}if((y|0)==125)if((b|0)<53)y=127;else{e=b;f=+(H|0);d=0.0}if((y|0)==127){d=+(H|0);e=b;f=d;d=+Ck(+Hk(1.0,84-b|0),d)}J=(g&1|0)==0&(j!=0.0&(e|0)<32);d=f*(J?0.0:j)+(d+f*+(((J&1)+g|0)>>>0))-d;if(!(d!=0.0)){J=mk()|0;k[J>>2]=34}d=+Ik(d,h);break a}else b=e;while(0);E=I+J|0;F=0-E|0;g=0;f:while(1){switch(b|0){case 46:{y=138;break f}case 48:break;default:{e=0;o=0;n=0;break f}}b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0;g=1;continue}else{b=rk(a)|0;g=1;continue}}if((y|0)==138){b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if((b|0)==48){e=0;b=0;while(1){e=tw(e|0,b|0,-1,-1)|0;g=M;b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if((b|0)==48)b=g;else{o=g;g=1;n=1;break}}}else{e=0;o=0;n=1}}k[G>>2]=0;m=b+-48|0;h=(b|0)==46;g:do if(h|m>>>0<10){z=G+496|0;w=0;t=0;u=h;y=o;s=g;x=n;g=0;h=0;n=0;h:while(1){do if(u)if(!x){e=w;o=t;x=1}else{o=y;b=w;m=t;break h}else{u=tw(w|0,t|0,1,0)|0;t=M;v=(b|0)!=48;if((h|0)>=125){if(!v){o=y;w=u;break}k[z>>2]=k[z>>2]|1;o=y;w=u;break}o=G+(h<<2)|0;if(g)m=b+-48+((k[o>>2]|0)*10|0)|0;k[o>>2]=m;g=g+1|0;m=(g|0)==9;o=y;w=u;s=1;g=m?0:g;h=(m&1)+h|0;n=v?u:n}while(0);b=k[D>>2]|0;if(b>>>0<(k[A>>2]|0)>>>0){k[D>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;m=b+-48|0;u=(b|0)==46;if(!(u|m>>>0<10)){m=x;y=161;break g}else y=o}s=(s|0)!=0;y=169}else{w=0;t=0;s=g;m=n;g=0;h=0;n=0;y=161}while(0);do if((y|0)==161){z=(m|0)==0;e=z?w:e;o=z?t:o;s=(s|0)!=0;if(!((b|32|0)==101&s))if((b|0)>-1){b=w;m=t;y=169;break}else{b=w;m=t;y=171;break}m=Dl(a,c)|0;b=M;if((m|0)==0&(b|0)==-2147483648){if(!c){qk(a,0);d=0.0;break}if(!(k[A>>2]|0)){m=0;b=0}else{k[D>>2]=(k[D>>2]|0)+-1;m=0;b=0}}e=tw(m|0,b|0,e|0,o|0)|0;s=w;o=M;m=t;y=173}while(0);if((y|0)==169)if(k[A>>2]|0){k[D>>2]=(k[D>>2]|0)+-1;if(s){s=b;y=173}else y=172}else y=171;if((y|0)==171)if(s){s=b;y=173}else y=172;do if((y|0)==172){J=mk()|0;k[J>>2]=22;qk(a,0);d=0.0}else if((y|0)==173){b=k[G>>2]|0;if(!b){d=+(H|0)*0.0;break}if(((m|0)<0|(m|0)==0&s>>>0<10)&((e|0)==(s|0)&(o|0)==(m|0))?J>>>0>30|(b>>>J|0)==0:0){d=+(H|0)*+(b>>>0);break}a=(I|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&e>>>0>a>>>0){J=mk()|0;k[J>>2]=34;d=+(H|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=I+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&e>>>0>>0){J=mk()|0;k[J>>2]=34;d=+(H|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(g){if((g|0)<9){m=G+(h<<2)|0;b=k[m>>2]|0;do{b=b*10|0;g=g+1|0}while((g|0)!=9);k[m>>2]=b}h=h+1|0}if((n|0)<9?(n|0)<=(e|0)&(e|0)<18:0){if((e|0)==9){d=+(H|0)*+((k[G>>2]|0)>>>0);break}if((e|0)<9){d=+(H|0)*+((k[G>>2]|0)>>>0)/+(k[37312+(8-e<<2)>>2]|0);break}a=J+27+(ia(e,-3)|0)|0;b=k[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){d=+(H|0)*+(b>>>0)*+(k[37312+(e+-10<<2)>>2]|0);break}}b=(e|0)%9|0;if(!b){g=0;b=0}else{s=(e|0)>-1?b:b+9|0;m=k[37312+(8-s<<2)>>2]|0;if(h){n=1e9/(m|0)|0;g=0;b=0;o=0;do{A=G+(o<<2)|0;D=k[A>>2]|0;a=((D>>>0)/(m>>>0)|0)+b|0;k[A>>2]=a;b=ia((D>>>0)%(m>>>0)|0,n)|0;a=(o|0)==(g|0)&(a|0)==0;o=o+1|0;e=a?e+-9|0:e;g=a?o&127:g}while((o|0)!=(h|0));if(b){k[G+(h<<2)>>2]=b;h=h+1|0}}else{g=0;h=0}b=0;e=9-s+e|0}i:while(1){t=(e|0)<18;u=(e|0)==18;v=G+(g<<2)|0;do{if(!t){if(!u)break i;if((k[v>>2]|0)>>>0>=9007199){e=18;break i}}m=0;n=h+127|0;while(1){s=n&127;o=G+(s<<2)|0;n=ww(k[o>>2]|0,0,29)|0;n=tw(n|0,M|0,m|0,0)|0;m=M;if(m>>>0>0|(m|0)==0&n>>>0>1e9){a=Ew(n|0,m|0,1e9,0)|0;n=Fw(n|0,m|0,1e9,0)|0;m=a}else m=0;k[o>>2]=n;a=(s|0)==(g|0);h=(s|0)!=(h+127&127|0)|a?h:(n|0)==0?s:h;if(a)break;else n=s+-1|0}b=b+-29|0}while((m|0)==0);g=g+127&127;if((g|0)==(h|0)){a=h+127&127;h=G+((h+126&127)<<2)|0;k[h>>2]=k[h>>2]|k[G+(a<<2)>>2];h=a}k[G+(g<<2)>>2]=m;e=e+9|0}j:while(1){w=h+1&127;v=G+((h+127&127)<<2)|0;while(1){t=(e|0)==18;u=(e|0)>27?9:1;s=t^1;while(1){n=g&127;o=(n|0)==(h|0);do if(!o){m=k[G+(n<<2)>>2]|0;if(m>>>0<9007199){y=219;break}if(m>>>0>9007199)break;m=g+1&127;if((m|0)==(h|0)){y=219;break}m=k[G+(m<<2)>>2]|0;if(m>>>0<254740991){y=219;break}if(!(m>>>0>254740991|s)){e=n;break j}}else y=219;while(0);if((y|0)==219?(y=0,t):0){y=220;break j}b=b+u|0;if((g|0)==(h|0))g=h;else break}s=(1<>>u;n=g;m=0;o=g;while(1){D=G+(o<<2)|0;a=k[D>>2]|0;g=(a>>>u)+m|0;k[D>>2]=g;m=ia(a&s,t)|0;g=(o|0)==(n|0)&(g|0)==0;o=o+1&127;e=g?e+-9|0:e;g=g?o:n;if((o|0)==(h|0))break;else n=g}if(!m)continue;if((w|0)!=(g|0))break;k[v>>2]=k[v>>2]|1}k[G+(h<<2)>>2]=m;h=w}if((y|0)==220)if(o){k[G+(w+-1<<2)>>2]=0;e=h;h=w}else e=n;d=+((k[G+(e<<2)>>2]|0)>>>0);e=g+1&127;if((e|0)==(h|0)){h=g+2&127;k[G+(h+-1<<2)>>2]=0}q=+(H|0);f=q*(d*1.0e9+ +((k[G+(e<<2)>>2]|0)>>>0));t=b+53|0;o=t-I|0;s=(o|0)<(J|0);e=s&1;n=s?((o|0)<0?0:o):J;if((n|0)<53){L=+Ck(+Hk(1.0,105-n|0),f);j=+Ek(f,+Hk(1.0,53-n|0));p=L;d=j;j=L+(f-j)}else{p=0.0;d=0.0;j=f}m=g+2&127;do if((m|0)==(h|0))f=d;else{m=k[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if(m>>>0>5e8){d=q*.75+d;break}if((g+3&127|0)==(h|0)){d=q*.5+d;break}else{d=q*.75+d;break}}else{if((m|0)==0?(g+3&127|0)==(h|0):0)break;d=q*.25+d}while(0);if((53-n|0)<=1){f=d;break}if(+Ek(d,1.0)!=0.0){f=d;break}f=d+1.0}while(0);d=j+f-p;do if((t&2147483647|0)>(-2-E|0)){if(+X(+d)>=9007199254740992.0){e=s&(n|0)==(o|0)?0:e;b=b+1|0;d=d*.5}if((b+50|0)<=(F|0)?!(f!=0.0&(e|0)!=0):0)break;J=mk()|0;k[J>>2]=34}while(0);d=+Ik(d,b)}while(0);break a}default:{if(k[A>>2]|0)k[D>>2]=(k[D>>2]|0)+-1;J=mk()|0;k[J>>2]=22;qk(a,0);d=0.0;break a}}}}while(0);if((y|0)==23){e=(k[A>>2]|0)==0;if(!e)k[D>>2]=(k[D>>2]|0)+-1;if((c|0)!=0&b>>>0>3)do{if(!e)k[D>>2]=(k[D>>2]|0)+-1;b=b+-1|0}while(b>>>0>3)}d=+(H|0)*C}while(0);r=K;return +d}function pk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(b>>>0>36){e=mk()|0;k[e>>2]=22;e=0;d=0}else{r=a+4|0;q=a+100|0;do{f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0}while((kk(f)|0)!=0);b:do switch(f|0){case 43:case 45:{g=((f|0)==45)<<31>>31;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0;p=g;break b}else{f=rk(a)|0;p=g;break b}}default:p=0}while(0);g=(b|0)==0;do if((b&-17|0)==0&(f|0)==48){f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0;if((f|32|0)!=120)if(g){b=8;n=46;break}else{n=32;break}b=k[r>>2]|0;if(b>>>0<(k[q>>2]|0)>>>0){k[r>>2]=b+1;f=l[b>>0]|0}else f=rk(a)|0;if((l[53879+(f+1)>>0]|0)>15){d=(k[q>>2]|0)==0;if(!d)k[r>>2]=(k[r>>2]|0)+-1;if(!c){qk(a,0);e=0;d=0;break a}if(d){e=0;d=0;break a}k[r>>2]=(k[r>>2]|0)+-1;e=0;d=0;break a}else{b=16;n=46}}else{b=g?10:b;if((l[53879+(f+1)>>0]|0)>>>0>>0)n=32;else{if(k[q>>2]|0)k[r>>2]=(k[r>>2]|0)+-1;qk(a,0);e=mk()|0;k[e>>2]=22;e=0;d=0;break a}}while(0);if((n|0)==32)if((b|0)==10){b=f+-48|0;if(b>>>0<10){f=0;while(1){g=(f*10|0)+b|0;b=k[r>>2]|0;if(b>>>0<(k[q>>2]|0)>>>0){k[r>>2]=b+1;f=l[b>>0]|0}else f=rk(a)|0;b=f+-48|0;if(!(b>>>0<10&g>>>0<429496729)){b=g;break}else f=g}g=0}else{b=0;g=0}c=f+-48|0;if(c>>>0<10){while(1){h=Dw(b|0,g|0,10,0)|0;j=M;m=((c|0)<0)<<31>>31;o=~m;if(j>>>0>o>>>0|(j|0)==(o|0)&h>>>0>~c>>>0){h=b;break}b=tw(h|0,j|0,c|0,m|0)|0;g=M;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0;c=f+-48|0;if(!(c>>>0<10&(g>>>0<429496729|(g|0)==429496729&b>>>0<2576980378))){h=b;break}}if(c>>>0>9){f=h;b=p}else{b=10;n=72}}else{f=b;b=p}}else n=46;c:do if((n|0)==46){if(!(b+-1&b)){n=i[54136+((b*23|0)>>>5&7)>>0]|0;g=i[53879+(f+1)>>0]|0;c=g&255;if(c>>>0>>0){f=0;while(1){h=c|f<>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0;g=i[53879+(f+1)>>0]|0;c=g&255;if(!(h>>>0<134217728&c>>>0>>0))break;else f=h}c=0}else{c=0;h=0}j=uw(-1,-1,n|0)|0;m=M;if((g&255)>>>0>=b>>>0|(c>>>0>m>>>0|(c|0)==(m|0)&h>>>0>j>>>0)){g=c;n=72;break}else f=c;while(1){h=ww(h|0,f|0,n|0)|0;c=M;h=g&255|h;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0;g=i[53879+(f+1)>>0]|0;if((g&255)>>>0>=b>>>0|(c>>>0>m>>>0|(c|0)==(m|0)&h>>>0>j>>>0)){g=c;n=72;break c}else f=c}}g=i[53879+(f+1)>>0]|0;c=g&255;if(c>>>0>>0){f=0;while(1){h=c+(ia(f,b)|0)|0;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0;g=i[53879+(f+1)>>0]|0;c=g&255;if(!(h>>>0<119304647&c>>>0>>0))break;else f=h}c=0}else{h=0;c=0}if((g&255)>>>0>>0){n=Ew(-1,-1,b|0,0)|0;o=M;m=c;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&h>>>0>n>>>0){g=m;n=72;break c}c=Dw(h|0,m|0,b|0,0)|0;j=M;g=g&255;if(j>>>0>4294967295|(j|0)==-1&c>>>0>~g>>>0){g=m;n=72;break c}h=tw(g|0,0,c|0,j|0)|0;c=M;f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0;g=i[53879+(f+1)>>0]|0;if((g&255)>>>0>=b>>>0){g=c;n=72;break}else m=c}}else{g=c;n=72}}while(0);if((n|0)==72)if((l[53879+(f+1)>>0]|0)>>>0>>0){do{f=k[r>>2]|0;if(f>>>0<(k[q>>2]|0)>>>0){k[r>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0}while((l[53879+(f+1)>>0]|0)>>>0>>0);g=mk()|0;k[g>>2]=34;g=e;f=d;b=(d&1|0)==0&0==0?p:0}else{f=h;b=p}if(k[q>>2]|0)k[r>>2]=(k[r>>2]|0)+-1;if(!(g>>>0>>0|(g|0)==(e|0)&f>>>0>>0)){if(!((d&1|0)!=0|0!=0|(b|0)!=0)){r=mk()|0;k[r>>2]=34;d=tw(d|0,e|0,-1,-1)|0;e=M;break}if(g>>>0>e>>>0|(g|0)==(e|0)&f>>>0>d>>>0){r=mk()|0;k[r>>2]=34;break}}d=((b|0)<0)<<31>>31;d=rw(f^b|0,g^d|0,b|0,d|0)|0;e=M}while(0);M=e;return d|0}function qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a+104>>2]=b;c=k[a+4>>2]|0;d=k[a+8>>2]|0;e=d-c|0;k[a+108>>2]=e;if((b|0)!=0&(e|0)>(b|0))k[a+100>>2]=c+b;else k[a+100>>2]=d;return}function rk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;c=a+104|0;f=k[c>>2]|0;if((f|0)!=0?(k[a+108>>2]|0)>=(f|0):0)g=4;else{b=cl(a)|0;if((b|0)>=0){e=k[c>>2]|0;c=a+8|0;if(e){d=k[c>>2]|0;f=k[a+4>>2]|0;c=d;e=e-(k[a+108>>2]|0)+-1|0;if((c-f|0)>(e|0))k[a+100>>2]=f+e;else g=9}else{d=k[c>>2]|0;c=d;g=9}if((g|0)==9)k[a+100>>2]=c;c=k[a+4>>2]|0;if(d){a=a+108|0;k[a>>2]=d+1-c+(k[a>>2]|0)}c=c+-1|0;if((l[c>>0]|0|0)!=(b|0))i[c>>0]=b}else g=4}if((g|0)==4){k[a+100>>2]=0;b=-1}return b|0}function sk(a){a=a|0;var b=0;if(a>>>0>4294963200){b=mk()|0;k[b>>2]=0-a;a=-1}return a|0}function tk(a){a=a|0;return 0}function uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function vk(a,b){a=a|0;b=b|0;return -1|0}function wk(a){a=a|0;Ql(a);return}function xk(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function yk(a,b){a=a|0;b=b|0;return lk(a)|0}function zk(a,b,c){a=a|0;b=b|0;c=c|0;if(((i[b>>0]|0)!=0?(vl(b,58885)|0)!=0:0)?(vl(b,54145)|0)!=0:0)c=0;else if(!c)c=Rl(1,4)|0;return c|0}function Ak(a){a=a|0;var b=0,c=0;b=(kb()|0)+176|0;c=k[b>>2]|0;if(a)k[b>>2]=a;return c|0}function Bk(a,b){a=+a;b=+b;var c=0,d=0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;p[t>>3]=b;c=k[t+4>>2]&-2147483648|c&2147483647;k[t>>2]=d;k[t+4>>2]=c;return +(+p[t>>3])}function Ck(a,b){a=+a;b=+b;return +(+Bk(a,b))}function Dk(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;p[t>>3]=a;c=k[t>>2]|0;j=k[t+4>>2]|0;p[t>>3]=b;l=k[t>>2]|0;m=k[t+4>>2]|0;d=uw(c|0,j|0,52)|0;d=d&2047;h=uw(l|0,m|0,52)|0;h=h&2047;n=j&-2147483648;g=ww(l|0,m|0,1)|0;i=M;a:do if(!((g|0)==0&(i|0)==0)?(f=m&2147483647,!(f>>>0>2146435072|(f|0)==2146435072&l>>>0>0|(d|0)==2047)):0){e=ww(c|0,j|0,1)|0;f=M;if(!(f>>>0>i>>>0|(f|0)==(i|0)&e>>>0>g>>>0))return +((e|0)==(g|0)&(f|0)==(i|0)?a*0.0:a);if(!d){d=ww(c|0,j|0,12)|0;e=M;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){f=d;d=0;do{d=d+-1|0;f=ww(f|0,e|0,1)|0;e=M}while((e|0)>-1|(e|0)==-1&f>>>0>4294967295)}else d=0;c=ww(c|0,j|0,1-d|0)|0;e=M}else e=j&1048575|1048576;if(!h){f=ww(l|0,m|0,12)|0;g=M;if((g|0)>-1|(g|0)==-1&f>>>0>4294967295){h=0;do{h=h+-1|0;f=ww(f|0,g|0,1)|0;g=M}while((g|0)>-1|(g|0)==-1&f>>>0>4294967295)}else h=0;l=ww(l|0,m|0,1-h|0)|0;j=M}else j=m&1048575|1048576;i=rw(c|0,e|0,l|0,j|0)|0;g=M;f=(g|0)>-1|(g|0)==-1&i>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(f)if((c|0)==(l|0)&(e|0)==(j|0))break;else{c=i;e=g}c=ww(c|0,e|0,1)|0;e=M;d=d+-1|0;i=rw(c|0,e|0,l|0,j|0)|0;g=M;f=(g|0)>-1|(g|0)==-1&i>>>0>4294967295;if((d|0)<=(h|0))break b}b=a*0.0;break a}while(0);if(f)if((c|0)==(l|0)&(e|0)==(j|0)){b=a*0.0;break}else{e=g;c=i}if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=ww(c|0,e|0,1)|0;e=M;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=tw(c|0,e|0,0,-1048576)|0;c=M;d=ww(d|0,0,52)|0;c=c|M;d=m|d}else{d=uw(c|0,e|0,1-d|0)|0;c=M}k[t>>2]=d;k[t+4>>2]=c|n;b=+p[t>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Ek(a,b){a=+a;b=+b;return +(+Dk(a,b))}function Fk(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=uw(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+Fk(a*18446744073709551616.0,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=e+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function Gk(a,b){a=+a;b=b|0;return +(+Fk(a,b))}function Hk(a,b){a=+a;b=b|0;var c=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;c=b+-1023|0;if((c|0)>1023){c=b+-2046|0;c=(c|0)>1023?1023:c;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;c=b+1022|0;if((c|0)<-1022){c=b+2044|0;c=(c|0)<-1022?-1022:c;a=a*2.2250738585072014e-308}}else c=b;c=ww(c+1023|0,0,52)|0;b=M;k[t>>2]=c;k[t+4>>2]=b;return +(a*+p[t>>3])}function Ik(a,b){a=+a;b=b|0;return +(+Hk(a,b))}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;return Kk(0,a,b,(c|0)!=0?c:37344)|0}function Kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+16|0;e=j;g=(d|0)==0?37348:d;d=k[g>>2]|0;a:do if(!b)if(!d)d=0;else h=15;else{f=(a|0)==0?e:a;if(!c)d=-2;else{if(!d){d=i[b>>0]|0;e=d&255;if(d<<24>>24>-1){k[f>>2]=e;d=d<<24>>24!=0&1;break}d=e+-194|0;if(d>>>0>50){h=15;break}d=k[37076+(d<<2)>>2]|0;e=c+-1|0;if(e){b=b+1|0;h=9}}else{e=c;h=9}b:do if((h|0)==9){a=i[b>>0]|0;l=(a&255)>>>3;if((l+-16|l+(d>>26))>>>0>7){h=15;break a}while(1){b=b+1|0;d=(a&255)+-128|d<<6;e=e+-1|0;if((d|0)>=0)break;if(!e)break b;a=i[b>>0]|0;if((a&-64)<<24>>24!=-128){h=15;break a}}k[g>>2]=0;k[f>>2]=d;d=c-e|0;break a}while(0);k[g>>2]=d;d=-2}}while(0);if((h|0)==15){k[g>>2]=0;d=mk()|0;k[d>>2]=84;d=-1}r=j;return d|0}function Lk(a){a=a|0;if(!a)a=1;else a=(k[a>>2]|0)==0;return a&1|0}function Mk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+1040|0;j=n+8|0;m=n;i=k[b>>2]|0;k[m>>2]=i;l=(a|0)!=0;d=l?d:256;a=l?a:j;f=i;a:do if((d|0)!=0&(i|0)!=0){h=d;i=f;d=0;while(1){f=c>>>2;g=f>>>0>=h>>>0;if(!(c>>>0>131|g)){f=i;break a}f=g?h:f;c=c-f|0;f=Nk(a,m,f,e)|0;if((f|0)==-1){d=c;break}o=(a|0)==(j|0);i=o?0:f;g=h-i|0;a=o?a:a+(f<<2)|0;d=f+d|0;f=k[m>>2]|0;if((h|0)!=(i|0)&(f|0)!=0){h=g;i=f}else{h=g;break a}}c=d;h=0;f=k[m>>2]|0;d=-1}else{h=d;d=0}while(0);b:do if((f|0)!=0?(h|0)!=0&(c|0)!=0:0){g=f;f=a;while(1){a=Kk(f,g,c,e)|0;if((a+2|0)>>>0<3)break;g=(k[m>>2]|0)+a|0;k[m>>2]=g;h=h+-1|0;d=d+1|0;if(!((h|0)!=0&(c|0)!=(a|0)))break b;else{c=c-a|0;f=f+4|0}}switch(a|0){case -1:{d=-1;break b}case 0:{k[m>>2]=0;break b}default:{k[e>>2]=0;break b}}}while(0);if(l)k[b>>2]=k[m>>2];r=n;return d|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;e=k[b>>2]|0;if((d|0)!=0?(f=k[d>>2]|0,(f|0)!=0):0)if(!a){d=c;g=e;m=16}else{k[d>>2]=0;j=a;d=c;h=f;m=37}else if(!a){d=c;m=7}else{f=a;d=c;m=6}a:while(1)if((m|0)==6){if(!d){m=26;break}else a=f;while(1){f=i[e>>0]|0;do if(((f&255)+-1|0)>>>0<127?d>>>0>4&(e&3|0)==0:0){g=e;while(1){e=k[g>>2]|0;if((e+-16843009|e)&-2139062144){f=e;e=g;m=32;break}k[a>>2]=e&255;k[a+4>>2]=l[g+1>>0];k[a+8>>2]=l[g+2>>0];e=g+4|0;f=a+16|0;k[a+12>>2]=l[g+3>>0];d=d+-4|0;if(d>>>0>4){a=f;g=e}else{m=31;break}}if((m|0)==31){a=f;f=i[e>>0]|0;break}else if((m|0)==32){f=f&255;break}}while(0);f=f&255;if((f+-1|0)>>>0>=127)break;e=e+1|0;k[a>>2]=f;d=d+-1|0;if(!d){m=26;break a}else a=a+4|0}f=f+-194|0;if(f>>>0>50){m=48;break}j=a;h=k[37076+(f<<2)>>2]|0;e=e+1|0;m=37;continue}else if((m|0)==7){f=i[e>>0]|0;if(((f&255)+-1|0)>>>0<127?(e&3|0)==0:0){f=k[e>>2]|0;if(!((f+-16843009|f)&-2139062144))do{e=e+4|0;d=d+-4|0;f=k[e>>2]|0}while(((f+-16843009|f)&-2139062144|0)==0);f=f&255}f=f&255;if((f+-1|0)>>>0<127){d=d+-1|0;e=e+1|0;m=7;continue}f=f+-194|0;if(f>>>0>50){m=48;break}f=k[37076+(f<<2)>>2]|0;g=e+1|0;m=16;continue}else if((m|0)==16){m=(l[g>>0]|0)>>>3;if((m+-16|m+(f>>26))>>>0>7){m=17;break}e=g+1|0;if(f&33554432){if((i[e>>0]&-64)<<24>>24!=-128){m=20;break}e=g+2|0;if(f&524288){if((i[e>>0]&-64)<<24>>24!=-128){m=23;break}e=g+3|0}}d=d+-1|0;m=7;continue}else if((m|0)==37){f=l[e>>0]|0;m=f>>>3;if((m+-16|m+(h>>26))>>>0>7){m=38;break}g=e+1|0;a=f+-128|h<<6;if((a|0)<0){f=l[g>>0]|0;if((f&192|0)!=128){m=41;break}g=e+2|0;a=f+-128|a<<6;if((a|0)<0){f=l[g>>0]|0;if((f&192|0)!=128){m=44;break}a=f+-128|a<<6;e=e+3|0}else e=g}else e=g;k[j>>2]=a;f=j+4|0;d=d+-1|0;m=6;continue}if((m|0)==17){e=g+-1|0;m=47}else if((m|0)==20){e=g+-1|0;m=47}else if((m|0)==23){e=g+-1|0;m=47}else if((m|0)==26)k[b>>2]=e;else if((m|0)==38){a=j;f=h;e=e+-1|0;m=47}else if((m|0)==41){d=j;c=e+-1|0;m=52}else if((m|0)==44){d=j;c=e+-1|0;m=52}if((m|0)==47)if(!f)m=48;else{d=a;c=e;m=52}if((m|0)==48)if(!(i[e>>0]|0)){if(a){k[a>>2]=0;k[b>>2]=0}c=c-d|0}else{d=a;c=e;m=52}if((m|0)==52){m=mk()|0;k[m>>2]=84;if(!d)c=-1;else{k[b>>2]=c;c=-1}}return c|0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g;a:do if(!b)d=0;else{do if(c){f=(a|0)==0?d:a;d=i[b>>0]|0;a=d&255;if(d<<24>>24>-1){k[f>>2]=a;d=d<<24>>24!=0&1;break a}d=a+-194|0;if(d>>>0<=50){a=b+1|0;e=k[37076+(d<<2)>>2]|0;if(c>>>0<4?(e&-2147483648>>>((c*6|0)+-6|0)|0)!=0:0)break;d=l[a>>0]|0;c=d>>>3;if((c+-16|c+(e>>26))>>>0<=7){d=d+-128|e<<6;if((d|0)>=0){k[f>>2]=d;d=2;break a}a=l[b+2>>0]|0;if((a&192|0)==128){a=a+-128|d<<6;if((a|0)>=0){k[f>>2]=a;d=3;break a}d=l[b+3>>0]|0;if((d&192|0)==128){k[f>>2]=d+-128|a<<6;d=4;break a}}}}}while(0);d=mk()|0;k[d>>2]=84;d=-1}while(0);r=g;return d|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=mk()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Qk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+272|0;h=l+8|0;j=l;g=k[b>>2]|0;k[j>>2]=g;i=(a|0)!=0;e=i?d:256;d=i?a:h;a=g;a:do if((e|0)!=0&(g|0)!=0){g=e;f=a;e=0;while(1){a=c>>>0>=g>>>0;if(!(a|c>>>0>32)){a=f;break a}a=a?g:c;c=c-a|0;a=Rk(d,j,a,0)|0;if((a|0)==-1){e=c;break}n=(d|0)==(h|0);m=n?0:a;f=g-m|0;d=n?d:d+a|0;e=a+e|0;a=k[j>>2]|0;if((g|0)!=(m|0)&(a|0)!=0){g=f;f=a}else{g=f;break a}}c=e;g=0;a=k[j>>2]|0;e=-1}else{g=e;e=0}while(0);b:do if((a|0)!=0?(g|0)!=0&(c|0)!=0:0){f=a;a=d;while(1){d=Pk(a,k[f>>2]|0,0)|0;if((d+1|0)>>>0<2)break;f=(k[j>>2]|0)+4|0;k[j>>2]=f;c=c+-1|0;e=e+1|0;if(!((g|0)!=(d|0)&(c|0)!=0))break b;else{g=g-d|0;a=a+d|0}}if(!d)k[j>>2]=0;else e=-1}while(0);if(i)k[b>>2]=k[j>>2];r=l;return e|0}function Rk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h;a:do if(!a){a=k[b>>2]|0;d=k[a>>2]|0;if(!d)c=0;else{c=0;do{if(d>>>0>127){d=Pk(g,d,0)|0;if((d|0)==-1){c=-1;break a}}else d=1;c=d+c|0;a=a+4|0;d=k[a>>2]|0}while((d|0)!=0)}}else{b:do if(c>>>0>3){d=c;e=k[b>>2]|0;while(1){f=k[e>>2]|0;if((f+-1|0)>>>0>126){if(!f)break;f=Pk(a,f,0)|0;if((f|0)==-1){c=-1;break a}a=a+f|0;d=d-f|0}else{i[a>>0]=f;a=a+1|0;d=d+-1|0;e=k[b>>2]|0}e=e+4|0;k[b>>2]=e;if(d>>>0<=3)break b}i[a>>0]=0;k[b>>2]=0;c=c-d|0;break a}else d=c;while(0);if(d){e=k[b>>2]|0;while(1){f=k[e>>2]|0;if((f+-1|0)>>>0>126){if(!f){e=19;break}f=Pk(g,f,0)|0;if((f|0)==-1){c=-1;break a}if(d>>>0>>0){e=22;break}Pk(a,k[e>>2]|0,0)|0;a=a+f|0;d=d-f|0}else{i[a>>0]=f;a=a+1|0;d=d+-1|0;e=k[b>>2]|0}e=e+4|0;k[b>>2]=e;if(!d)break a}if((e|0)==19){i[a>>0]=0;k[b>>2]=0;c=c-d|0;break}else if((e|0)==22){c=c-d|0;break}}}while(0);r=h;return c|0}function Sk(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Pk(a,b,0)|0;return a|0}function Tk(a){a=a|0;return 0}function Uk(a){a=a|0;return}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(bl(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){d=a+20|0;f=k[d>>2]|0;if(f>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[d>>2]=f+1;i[f>>0]=g;break}if((Qb[k[a+36>>2]&63](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function Wk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=sk(wb(6,c|0)|0)|0;r=b;return a|0}function Xk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+48|0;f=l+16|0;e=l;d=l+32|0;k[d>>2]=b;g=d+4|0;j=a+48|0;m=k[j>>2]|0;k[g>>2]=c-((m|0)!=0&1);h=a+44|0;k[d+8>>2]=k[h>>2];k[d+12>>2]=m;if(!(k[9258]|0)){k[f>>2]=k[a+60>>2];k[f+4>>2]=d;k[f+8>>2]=2;d=sk(Eb(145,f|0)|0)|0}else{xb(185,a|0);k[e>>2]=k[a+60>>2];k[e+4>>2]=d;k[e+8>>2]=2;d=sk(Eb(145,e|0)|0)|0;pb(0)}if((d|0)>=1){g=k[g>>2]|0;if(d>>>0>g>>>0){f=k[h>>2]|0;e=a+4|0;k[e>>2]=f;k[a+8>>2]=f+(d-g);if(!(k[j>>2]|0))d=c;else{k[e>>2]=f+1;i[b+(c+-1)>>0]=i[f>>0]|0;d=c}}}else{k[a>>2]=k[a>>2]|d&48^16;k[a+8>>2]=0;k[a+4>>2]=0}r=l;return d|0}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((sk(Db(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[9258]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=sk(Fb(146,m|0)|0)|0}else{xb(186,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=sk(Fb(146,l|0)|0)|0;pb(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=8;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,(nb(54,d|0)|0)!=0):0)i[a+75>>0]=-1;d=Zk(a,b,c)|0;r=e;return d|0}function $k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+84|0;f=k[d>>2]|0;g=c+256|0;e=tl(f,0,g)|0;e=(e|0)==0?g:e-f|0;c=e>>>0>>0?e:c;vw(b|0,f|0,c|0)|0;k[a+4>>2]=f+c;b=f+e|0;k[a+8>>2]=b;k[d>>2]=b;return c|0}function al(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=a+20|0;c=a+44|0;if((k[b>>2]|0)>>>0>(k[c>>2]|0)>>>0)Qb[k[a+36>>2]&63](a,0,0)|0;k[a+16>>2]=0;k[a+28>>2]=0;k[b>>2]=0;b=k[a>>2]|0;if(b&20)if(!(b&4))b=-1;else{k[a>>2]=b|32;b=-1}else{b=k[c>>2]|0;k[a+8>>2]=b;k[a+4>>2]=b;b=0}return b|0}function bl(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function cl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;if((k[a+8>>2]|0)==0?(al(a)|0)!=0:0)b=-1;else if((Qb[k[a+32>>2]&63](a,b,1)|0)==1)b=l[b>>0]|0;else b=-1;r=c;return b|0}function dl(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=Gl(a)|0;break}c=(Tk(a)|0)==0;b=Gl(a)|0;if(!c)Uk(a)}else{if(!(k[9323]|0))b=0;else b=dl(k[9323]|0)|0;Na(37060);a=k[9264]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=Tk(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=Gl(a)|0|b;if(c)Uk(a);a=k[a+56>>2]|0}while((a|0)!=0);ob(37060)}while(0);return b|0}function el(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(Tk(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|0)?(d=b+20|0,e=k[d>>2]|0,e>>>0<(k[b+16>>2]|0)>>>0):0){k[d>>2]=e+1;i[e>>0]=a;c=a&255}else c=Vk(b,a)|0;Uk(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(f=b+20|0,c=k[f>>2]|0,c>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=c+1;i[c>>0]=a;c=a&255;break}c=Vk(b,a)|0}while(0);return c|0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(bl(c)|0)){e=k[d>>2]|0;f=4}else d=0;else f=4;a:do if((f|0)==4){g=c+20|0;f=k[g>>2]|0;if((e-f|0)>>>0>>0){d=Qb[k[c+36>>2]&63](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((Qb[k[c+36>>2]&63](c,a,d)|0)>>>0>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);vw(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ia(c,b)|0;if((k[d+76>>2]|0)>-1){f=(Tk(d)|0)==0;a=fl(a,e,d)|0;if(!f)Uk(d)}else a=fl(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function hl(a){a=a|0;var b=0,c=0,d=0;if((k[a+76>>2]|0)>=0?(Tk(a)|0)!=0:0){b=a+4|0;c=k[b>>2]|0;if(c>>>0<(k[a+8>>2]|0)>>>0){k[b>>2]=c+1;b=l[c>>0]|0}else b=cl(a)|0}else d=3;do if((d|0)==3){b=a+4|0;c=k[b>>2]|0;if(c>>>0<(k[a+8>>2]|0)>>>0){k[b>>2]=c+1;b=l[c>>0]|0;break}else{b=cl(a)|0;break}}while(0);return b|0}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;f=e;k[f>>2]=d;d=ol(a,b,c,f)|0;r=e;return d|0}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=c;c=pl(a,b,e)|0;r=d;return c|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;do if((a|0)!=-1){if((k[b+76>>2]|0)>-1)e=Tk(b)|0;else e=0;if(!((k[b+8>>2]|0)==0?(al(b)|0)!=0:0))f=6;if((f|0)==6?(c=b+4|0,d=k[c>>2]|0,d>>>0>((k[b+44>>2]|0)+-8|0)>>>0):0){f=d+-1|0;k[c>>2]=f;i[f>>0]=a;k[b>>2]=k[b>>2]&-17;if(!e)break;Uk(b);break}if(e){Uk(b);a=-1}else a=-1}else a=-1;while(0);return a|0}function ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h;e=Pl(240)|0;do if(e){k[d>>2]=k[c>>2];d=ol(e,240,b,d)|0;if(d>>>0<240){b=Sl(e,d+1|0)|0;k[a>>2]=(b|0)!=0?b:e;break}Ql(e);if((d|0)>=0?(g=d+1|0,f=Pl(g)|0,k[a>>2]=f,(f|0)!=0):0)d=ol(f,g,b,c)|0;else d=-1}else d=-1;while(0);r=h;return d|0}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+80|0;q=s+96|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((Hl(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=Tk(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=Hl(a,b,n,p,q)|0;if(f){Qb[k[a+36>>2]&63](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=Hl(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l)Uk(a);c=(c&32|0)==0?d:-1}r=s;return c|0}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0.0,n=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0;P=r;r=r+304|0;G=P+16|0;I=P+8|0;H=P+33|0;J=P;y=P+32|0;if((k[a+76>>2]|0)>-1)O=Tk(a)|0;else O=0;d=i[b>>0]|0;a:do if(d<<24>>24){K=a+4|0;L=a+100|0;F=a+108|0;z=a+8|0;A=H+10|0;B=H+33|0;C=I+4|0;D=H+46|0;E=H+94|0;f=d;d=0;g=b;s=0;e=0;b=0;b:while(1){c:do if(!(kk(f&255)|0)){f=(i[g>>0]|0)==37;d:do if(f){n=g+1|0;h=i[n>>0]|0;e:do switch(h<<24>>24){case 37:break d;case 42:{x=0;h=g+2|0;break}default:{h=(h&255)+-48|0;if(h>>>0<10?(i[g+2>>0]|0)==36:0){k[G>>2]=k[c>>2];while(1){x=(k[G>>2]|0)+(4-1)&~(4-1);f=k[x>>2]|0;k[G>>2]=x+4;if(h>>>0>1)h=h+-1|0;else break}x=f;h=g+3|0;break e}h=(k[c>>2]|0)+(4-1)&~(4-1);x=k[h>>2]|0;k[c>>2]=h+4;h=n}}while(0);f=i[h>>0]|0;g=f&255;if((g+-48|0)>>>0<10){f=0;while(1){n=(f*10|0)+-48+g|0;h=h+1|0;f=i[h>>0]|0;g=f&255;if((g+-48|0)>>>0>=10)break;else f=n}}else n=0;if(f<<24>>24==109){h=h+1|0;q=i[h>>0]|0;f=(x|0)!=0&1;e=0;b=0}else{q=f;f=0}g=h+1|0;switch(q&255|0){case 104:{w=(i[g>>0]|0)==104;g=w?h+2|0:g;h=w?-2:-1;break}case 108:{w=(i[g>>0]|0)==108;g=w?h+2|0:g;h=w?3:1;break}case 106:{h=3;break}case 116:case 122:{h=1;break}case 76:{h=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{g=h;h=0;break}default:{N=152;break b}}q=l[g>>0]|0;t=(q&47|0)==3;q=t?q|32:q;t=t?1:h;switch(q|0){case 99:{w=s;v=(n|0)<1?1:n;break}case 91:{w=s;v=n;break}case 110:{if(!x){h=s;break c}switch(t|0){case -2:{i[x>>0]=s;h=s;break c}case -1:{j[x>>1]=s;h=s;break c}case 0:{k[x>>2]=s;h=s;break c}case 1:{k[x>>2]=s;h=s;break c}case 3:{h=x;k[h>>2]=s;k[h+4>>2]=((s|0)<0)<<31>>31;h=s;break c}default:{h=s;break c}}}default:{qk(a,0);do{h=k[K>>2]|0;if(h>>>0<(k[L>>2]|0)>>>0){k[K>>2]=h+1;h=l[h>>0]|0}else h=rk(a)|0}while((kk(h)|0)!=0);h=k[K>>2]|0;if(k[L>>2]|0){h=h+-1|0;k[K>>2]=h}w=(k[F>>2]|0)+s+h-(k[z>>2]|0)|0;v=n}}qk(a,v);h=k[K>>2]|0;n=k[L>>2]|0;if(h>>>0>>0)k[K>>2]=h+1;else{if((rk(a)|0)<0){N=152;break b}n=k[L>>2]|0}if(n)k[K>>2]=(k[K>>2]|0)+-1;f:do switch(q|0){case 91:case 99:case 115:{u=(q|0)==99;g:do if((q&239|0)==99){sw(H|0,-1,257)|0;i[H>>0]=0;if((q|0)==115){i[B>>0]=0;i[A>>0]=0;i[A+1>>0]=0;i[A+2>>0]=0;i[A+3>>0]=0;i[A+4>>0]=0}}else{Q=g+1|0;s=(i[Q>>0]|0)==94;h=s&1;q=s?Q:g;g=s?g+2|0:Q;sw(H|0,s&1|0,257)|0;i[H>>0]=0;switch(i[g>>0]|0){case 45:{s=(h^1)&255;i[D>>0]=s;g=q+2|0;break}case 93:{s=(h^1)&255;i[E>>0]=s;g=q+2|0;break}default:s=(h^1)&255}while(1){h=i[g>>0]|0;h:do switch(h<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{q=g+1|0;h=i[q>>0]|0;switch(h<<24>>24){case 93:case 0:{h=45;break h}default:{}}g=i[g+-1>>0]|0;if((g&255)<(h&255)){g=g&255;do{g=g+1|0;i[H+g>>0]=s;h=i[q>>0]|0}while((g|0)<(h&255|0));g=q}else g=q;break}default:{}}while(0);i[H+((h&255)+1)>>0]=s;g=g+1|0}}while(0);q=u?v+1|0:31;s=(t|0)==1;t=(f|0)!=0;i:do if(s){if(t){b=Pl(q<<2)|0;if(!b){e=0;N=152;break b}}else b=x;k[I>>2]=0;k[C>>2]=0;e=0;j:while(1){n=(b|0)==0;do{k:while(1){h=k[K>>2]|0;if(h>>>0<(k[L>>2]|0)>>>0){k[K>>2]=h+1;h=l[h>>0]|0}else h=rk(a)|0;if(!(i[H+(h+1)>>0]|0))break j;i[y>>0]=h;switch(Kk(J,y,1,I)|0){case -1:{e=0;N=152;break b}case -2:break;default:break k}}if(!n){k[b+(e<<2)>>2]=k[J>>2];e=e+1|0}}while(!(t&(e|0)==(q|0)));e=q<<1|1;h=Sl(b,e<<2)|0;if(!h){e=0;N=152;break b}Q=q;q=e;b=h;e=Q}if(!(Lk(I)|0)){e=0;N=152;break b}else{n=e;e=0}}else{if(t){e=Pl(q)|0;if(!e){e=0;b=0;N=152;break b}else h=0;while(1){do{b=k[K>>2]|0;if(b>>>0<(k[L>>2]|0)>>>0){k[K>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if(!(i[H+(b+1)>>0]|0)){n=h;b=0;break i}i[e+h>>0]=b;h=h+1|0}while((h|0)!=(q|0));b=q<<1|1;h=Sl(e,b)|0;if(!h){b=0;N=152;break b}else{Q=q;q=b;e=h;h=Q}}}if(!x){e=n;while(1){b=k[K>>2]|0;if(b>>>0>>0){k[K>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if(!(i[H+(b+1)>>0]|0)){n=0;e=0;b=0;break i}e=k[L>>2]|0}}else{e=0;while(1){b=k[K>>2]|0;if(b>>>0>>0){k[K>>2]=b+1;b=l[b>>0]|0}else b=rk(a)|0;if(!(i[H+(b+1)>>0]|0)){n=e;e=x;b=0;break i}i[x+e>>0]=b;n=k[L>>2]|0;e=e+1|0}}}while(0);h=k[K>>2]|0;if(k[L>>2]|0){h=h+-1|0;k[K>>2]=h}h=h-(k[z>>2]|0)+(k[F>>2]|0)|0;if(!h)break b;if(!((h|0)==(v|0)|u^1))break b;do if(t)if(s){k[x>>2]=b;break}else{k[x>>2]=e;break}while(0);if(!u){if(b)k[b+(n<<2)>>2]=0;if(!e){e=0;break f}i[e+n>>0]=0}break}case 120:case 88:case 112:{h=16;N=134;break}case 111:{h=8;N=134;break}case 117:case 100:{h=10;N=134;break}case 105:{h=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{m=+ok(a,t,0);if((k[F>>2]|0)==((k[z>>2]|0)-(k[K>>2]|0)|0))break b;if(x)switch(t|0){case 0:{o[x>>2]=m;break f}case 1:{p[x>>3]=m;break f}case 2:{p[x>>3]=m;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;h=pk(a,h,0,-1,-1)|0;if((k[F>>2]|0)==((k[z>>2]|0)-(k[K>>2]|0)|0))break b;if((x|0)!=0&(q|0)==112){k[x>>2]=h;break}if(x)switch(t|0){case -2:{i[x>>0]=h;break l}case -1:{j[x>>1]=h;break l}case 0:{k[x>>2]=h;break l}case 1:{k[x>>2]=h;break l}case 3:{Q=x;k[Q>>2]=h;k[Q+4>>2]=M;break l}default:break l}}while(0);d=((x|0)!=0&1)+d|0;h=(k[F>>2]|0)+w+(k[K>>2]|0)-(k[z>>2]|0)|0;break c}while(0);g=g+(f&1)|0;qk(a,0);f=k[K>>2]|0;if(f>>>0<(k[L>>2]|0)>>>0){k[K>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0;if((f|0)!=(l[g>>0]|0)){N=21;break b}h=s+1|0}else{while(1){f=g+1|0;if(!(kk(l[f>>0]|0)|0))break;else g=f}qk(a,0);do{f=k[K>>2]|0;if(f>>>0<(k[L>>2]|0)>>>0){k[K>>2]=f+1;f=l[f>>0]|0}else f=rk(a)|0}while((kk(f)|0)!=0);f=k[K>>2]|0;if(k[L>>2]|0){f=f+-1|0;k[K>>2]=f}h=(k[F>>2]|0)+s+f-(k[z>>2]|0)|0}while(0);g=g+1|0;f=i[g>>0]|0;if(!(f<<24>>24))break a;else s=h}if((N|0)==21){if(k[L>>2]|0)k[K>>2]=(k[K>>2]|0)+-1;if((d|0)!=0|(f|0)>-1)break;else{d=0;N=153}}else if((N|0)==152)if(!d){d=f;N=153}if((N|0)==153){f=d;d=-1}if(f){Ql(e);Ql(b)}}else d=0;while(0);if(O)Uk(a);r=P;return d|0}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+128|0;e=m+112|0;l=m;f=l;g=37352;h=f+112|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if((b+-1|0)>>>0>2147483646)if(!b){b=1;j=4}else{b=mk()|0;k[b>>2]=75;b=-1}else{e=a;j=4}if((j|0)==4){j=-2-e|0;j=b>>>0>j>>>0?j:b;k[l+48>>2]=j;a=l+20|0;k[a>>2]=e;k[l+44>>2]=e;b=e+j|0;e=l+16|0;k[e>>2]=b;k[l+28>>2]=b;b=ml(l,c,d)|0;if(j){c=k[a>>2]|0;i[c+(((c|0)==(k[e>>2]|0))<<31>>31)>>0]=0}}r=m;return b|0}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+112|0;d=f;e=d;g=e+112|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(g|0));k[d+32>>2]=29;k[d+44>>2]=a;k[d+76>>2]=-1;k[d+84>>2]=a;g=nl(d,b,c)|0;r=f;return g|0}function ql(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Jl(a,b,2))}function rl(a,b,c){a=a|0;b=b|0;c=c|0;a=Kl(a,b,c,-1,-1)|0;return a|0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;a=Kl(a,b,c,0,-2147483648)|0;return a|0}function tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=ia(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return ((c|0)!=0?a:0)|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function vl(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function wl(a,b){a=a|0;b=b|0;ul(a,b)|0;return a|0}function xl(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=a;a=d;while(1){if(!(i[b>>0]|0))break a;b=b+1|0;a=b;if(!(a&3)){a=b;c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c)b=0;else{d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(d<<24>>24==e<<24>>24&((c|0)!=0&e<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0}return b|0}function zl(a){a=a|0;var b=0;b=a;while(1)if(!(k[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function Al(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c){d=a;while(1){c=c+-1|0;k[d>>2]=k[b>>2];if(!c)break;else{b=b+4|0;d=d+4|0}}}return a|0}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;if(a-b>>2>>>0>>0){if(!d)do{c=c+-1|0;k[a+(c<<2)>>2]=k[b+(c<<2)>>2]}while((c|0)!=0)}else if(!d){d=b;b=a;while(1){c=c+-1|0;k[b>>2]=k[d>>2];if(!c)break;else{d=d+4|0;b=b+4|0}}}return a|0}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c){d=a;while(1){c=c+-1|0;k[d>>2]=b;if(!c)break;else d=d+4|0}}return a|0}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=a+4|0;c=k[g>>2]|0;h=a+100|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=rk(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=rk(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(k[h>>2]|0)!=0:0){k[g>>2]=(k[g>>2]|0)+-1;f=d}else f=d;break}default:f=0}if((c+-48|0)>>>0>9)if(!(k[h>>2]|0)){d=-2147483648;c=0}else{k[g>>2]=(k[g>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=rk(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=Dw(d|0,b|0,10,0)|0;d=M;c=tw(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=tw(c|0,M|0,b|0,d|0)|0;b=M;c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=rk(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d}else e=d;if((c+-48|0)>>>0<10)do{c=k[g>>2]|0;if(c>>>0<(k[h>>2]|0)>>>0){k[g>>2]=c+1;c=l[c>>0]|0}else c=rk(a)|0}while((c+-48|0)>>>0<10);if(k[h>>2]|0)k[g>>2]=(k[g>>2]|0)+-1;a=(f|0)!=0;c=rw(0,0,e|0,b|0)|0;d=a?M:b;c=a?c:e}M=d;return c|0}function El(a){a=a|0;if(!(k[a+68>>2]|0))Uk(a);return}function Fl(a){a=a|0;if(!(k[a+68>>2]|0))Uk(a);return}function Gl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(Qb[k[a+36>>2]&63](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)Qb[k[a+40>>2]&63](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}\n\n// EMSCRIPTEN_END_FUNCS\nvar Ib=[cx,_q,cr,Yr,as,fs,hs,Hu,Su,cx,cx,cx,cx,cx,cx,cx];var Jb=[dx,si,gi,Wh,Kh,yh,mh,ah,Lg,Wj,Vj,Sj,dx,dx,dx,dx];var Kb=[ex,ls,rs,ex];var Lb=[fx,oi,pi,ci,di,Sh,Th,Gh,Hh,uh,vh,ih,jh,Yg,Zg,Hg,Ig,ug,vg,ig,jg,Yf,Zf,Mf,Nf,Af,Bf,Ie,Je,ve,we,Dc,Ec,Zd,be,_d,mo,oo,no,po,ud,vd,_i,wd,nd,od,Sc,Tc,_c,$c,fd,gd,xd,yd,Ed,Fd,Ld,Md,Sd,Td,te,ue,Re,Se,Ye,Ze,df,ef,lf,mf,Wg,Xg,Nm,Ai,Ki,Li,$i,aj,pj,qj,wj,xj,Bj,Cj,Ej,Hj,Fj,Gj,Ij,Jj,Mn,bm,hm,xn,mm,sm,Lm,Mm,yn,Nn,$n,bo,ao,co,go,io,ho,jo,uo,wo,vo,xo,Eo,Fo,pn,Go,Ho,Io,Ko,Us,Oo,Po,To,Uo,gp,hp,Ap,Bp,Pp,Qp,aq,bq,zq,Aq,Xq,Zq,ar,br,er,fr,pr,qr,Ar,Br,Lr,Mr,Wr,Xr,ds,es,js,ks,ps,qs,vs,ws,As,Bs,Is,Js,kt,lt,Gu,Dt,du,eu,fu,gu,Jo,Ts,Ws,ut,Lt,Tt,$t,au,bj,Si,jj,Cc,zn,fo,ie,Og,ek,El,Fl,Wl,wk,Zr,$r,Vs,Qv,Xv,Yv,Zv,_v,$v,aw,Sm,en,Ql,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx,fx];var Mb=[gx,ri,fi,Vh,Jh,xh,lh,$g,Kg,wg,kg,_f,Of,Cf,Ke,xe,Fc,An,Mi,Pi,cm,gm,nm,rm,Pn,ir,jr,kr,lr,nr,or,tr,ur,vr,wr,yr,zr,Er,Fr,Gr,Hr,Jr,Kr,Pr,Qr,Rr,Sr,Ur,Vr,zs,Es,lu,nu,pu,mu,ou,qu,uc,cj,Qi,Ri,Ti,un,Mc,Oc,qo,on,_m,he,Be,tf,Gf,Sf,cg,og,Ag,Ng,ch,oh,Ah,Mh,Yh,ii,ui,Ii,hj,Cm,Am,sn,yo,Bm,Ym,jn,hn,kv,lv,mv,nv,ov,pv,Ct,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Dv,Ev,Fv,Gv,Hv,Iv,Jv,Kv,Lv,Mv,Ov,gw,gx,gx];var Nb=[hx,Vo,Wo,Xo,Yo,Zo,_o,$o,ap,bp,cp,dp,ip,jp,kp,lp,mp,np,op,pp,qp,rp,sp,Hp,Jp,Up,Wp,dq,eq,fq,hq,jq,Cq,Dq,Eq,Gq,Iq,os,us,md,cv,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx,hx];var Ob=[ix,En,Fn,rd,In,Bi,rj,yj,Dj,Wk,dm,Un,Wn,Xn,Tn,im,jm,om,Hn,tm,um,Ao,cq,su,uu,wu,Cu,Eu,yu,Au,Bq,tu,vu,xu,Du,Fu,zu,Bu,gr,hr,mr,rr,sr,xr,Cr,Dr,Ir,Nr,Or,Tr,Ht,It,Kt,hu,ju,iu,ku,yt,zt,Bt,Pt,Qt,St,Xt,Yt,_t,Ei,lj,tn,Vi,eo,ko,jx,kx,lx,Ak,zl,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Pb=[mx,_r,gs,mx];var Qb=[nx,Bn,Gn,Kn,Em,Fm,Kj,Ll,Zk,Yk,Xk,_k,Qn,Vn,em,Zn,pm,No,So,xs,Cs,nt,pt,st,Xs,ct,ft,it,Nc,Il,$m,zk,hv,jv,Pk,Ok,Jk,ll,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx,nx];var Rb=[ox,ns,ts,ox];var Sb=[px,pd,Zj,Yj,Xj,Rn,Cn,ys,Ds,px,px,px,px,px,px,px];var Tb=[qx,Gp,Mp,Tp,Yp,qx,qx,qx];var Ub=[rx,bs,is,ms,ss,rx,rx,rx];var Vb=[sx,qi,ei,Uh,Ih,wh,kh,_g,Jg,yg,mg,ag,Qf,Ef,Me,ze,Hc,sd,td,Yn,fm,km,_n,Jn,qm,vm,Ln,mt,ot,qt,at,dt,gt,dj,yc,Ac,so,Ss,to,yk,xk,Um,fn,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx,sx];var Wb=[tx,Lo,Qo,Cp,Dp,Ip,Op,Rp,Sp,Vp,_p,tt,Gt,Jt,jt,xt,At,Ot,Rt,Wt,Zt,Qk,Mk,tx,tx,tx,tx,tx,tx,tx,tx,tx];var Xb=[ux,jw,iw,hw];var Yb=[vx,vc,kj,fp,Ls,Ms,Ns,hk,jk,ik,vx,vx,vx,vx,vx,vx];var Zb=[wx,xg,lg,$f,Pf,Df,Le,ye,Gc,rt,Zs,_s,$s,ht,Di,Ji,Ru,bv,Nk,uk,Kk,pw,ow,nw,mw,lw,kw,wx,wx,wx,wx,wx];var _b=[xx,Dm,Ci,Bo,ej,Qm,yx,Km,Wm,Ui,Hm,Do,fv,gv,iv,cn];var $b=[zx,Ax,bk,Bx,ck,Cx,ak,zx];var ac=[Dx,lq,Kq,Et,Ft,vt,wt,Mt,Nt,Ut,Vt,Dx,Dx,Dx,Dx,Dx];var bc=[Ex,Kp,Np,Xp,Zp,Ex,Ex,Ex];var cc=[Fx,ce,de,$d,ae,qd,Uc,Vc,ad,bd,hd,id,zd,Ad,Gd,Hd,Nd,Od,Ud,Vd,Te,Ue,_e,$e,ff,gf,nf,of,Mj,Nj,Pj,Sn,Dn,Mo,Ro,nc,Jm,Ic,Jc,Kc,Lc,Pc,Qc,Rc,Ne,Oe,Pe,Qe,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx,Fx];return{_jpegls_encode:gj,___cxa_can_catch:_j,_free:Ql,_jpegls_decode:fj,___cxa_is_pointer_type:$j,_i64Add:tw,_memmove:xw,_i64Subtract:rw,_memset:sw,_malloc:Pl,_memcpy:vw,_bitshift64Lshr:uw,_bitshift64Shl:ww,__GLOBAL__I_000101:Xl,__GLOBAL__sub_I_jpegls_cpp:Bc,__GLOBAL__sub_I_iostream_cpp:Yl,runPostSets:qw,_emscripten_replace_memory:Hb,stackAlloc:dc,stackSave:ec,stackRestore:fc,establishStackSpace:gc,setThrew:hc,setTempRet0:kc,getTempRet0:lc,dynCall_iiiiiiii:Hw,dynCall_viiiii:Iw,dynCall_iiiiiid:Jw,dynCall_vi:Kw,dynCall_vii:Lw,dynCall_iiiiiii:Mw,dynCall_ii:Nw,dynCall_iiiiiiiiiiii:Ow,dynCall_iiii:Pw,dynCall_viiiiiiiiiiiiiii:Qw,dynCall_viiiiii:Rw,dynCall_viiiiiii:Sw,dynCall_viiiiiiiiii:Tw,dynCall_iii:Uw,dynCall_iiiiii:Vw,dynCall_diii:Ww,dynCall_i:Xw,dynCall_iiiii:Yw,dynCall_viii:Zw,dynCall_v:_w,dynCall_iiiiiiiii:$w,dynCall_iiiiid:ax,dynCall_viiii:bx}})\n\n\n// EMSCRIPTEN_END_ASM\n(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module[\"_jpegls_encode\"]=asm[\"_jpegls_encode\"];var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=asm[\"___cxa_can_catch\"];var _free=Module[\"_free\"]=asm[\"_free\"];var _jpegls_decode=Module[\"_jpegls_decode\"]=asm[\"_jpegls_decode\"];var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=asm[\"___cxa_is_pointer_type\"];var _i64Add=Module[\"_i64Add\"]=asm[\"_i64Add\"];var _memmove=Module[\"_memmove\"]=asm[\"_memmove\"];var _i64Subtract=Module[\"_i64Subtract\"]=asm[\"_i64Subtract\"];var _memset=Module[\"_memset\"]=asm[\"_memset\"];var _malloc=Module[\"_malloc\"]=asm[\"_malloc\"];var _memcpy=Module[\"_memcpy\"]=asm[\"_memcpy\"];var _emscripten_replace_memory=Module[\"_emscripten_replace_memory\"]=asm[\"_emscripten_replace_memory\"];var runPostSets=Module[\"runPostSets\"]=asm[\"runPostSets\"];var __GLOBAL__sub_I_iostream_cpp=Module[\"__GLOBAL__sub_I_iostream_cpp\"]=asm[\"__GLOBAL__sub_I_iostream_cpp\"];var _bitshift64Lshr=Module[\"_bitshift64Lshr\"]=asm[\"_bitshift64Lshr\"];var __GLOBAL__sub_I_jpegls_cpp=Module[\"__GLOBAL__sub_I_jpegls_cpp\"]=asm[\"__GLOBAL__sub_I_jpegls_cpp\"];var __GLOBAL__I_000101=Module[\"__GLOBAL__I_000101\"]=asm[\"__GLOBAL__I_000101\"];var _bitshift64Shl=Module[\"_bitshift64Shl\"]=asm[\"_bitshift64Shl\"];var dynCall_iiiiiiii=Module[\"dynCall_iiiiiiii\"]=asm[\"dynCall_iiiiiiii\"];var dynCall_viiiii=Module[\"dynCall_viiiii\"]=asm[\"dynCall_viiiii\"];var dynCall_iiiiiid=Module[\"dynCall_iiiiiid\"]=asm[\"dynCall_iiiiiid\"];var dynCall_vi=Module[\"dynCall_vi\"]=asm[\"dynCall_vi\"];var dynCall_vii=Module[\"dynCall_vii\"]=asm[\"dynCall_vii\"];var dynCall_iiiiiii=Module[\"dynCall_iiiiiii\"]=asm[\"dynCall_iiiiiii\"];var dynCall_ii=Module[\"dynCall_ii\"]=asm[\"dynCall_ii\"];var dynCall_iiiiiiiiiiii=Module[\"dynCall_iiiiiiiiiiii\"]=asm[\"dynCall_iiiiiiiiiiii\"];var dynCall_iiii=Module[\"dynCall_iiii\"]=asm[\"dynCall_iiii\"];var dynCall_viiiiiiiiiiiiiii=Module[\"dynCall_viiiiiiiiiiiiiii\"]=asm[\"dynCall_viiiiiiiiiiiiiii\"];var dynCall_viiiiii=Module[\"dynCall_viiiiii\"]=asm[\"dynCall_viiiiii\"];var dynCall_viiiiiii=Module[\"dynCall_viiiiiii\"]=asm[\"dynCall_viiiiiii\"];var dynCall_viiiiiiiiii=Module[\"dynCall_viiiiiiiiii\"]=asm[\"dynCall_viiiiiiiiii\"];var dynCall_iii=Module[\"dynCall_iii\"]=asm[\"dynCall_iii\"];var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=asm[\"dynCall_iiiiii\"];var dynCall_diii=Module[\"dynCall_diii\"]=asm[\"dynCall_diii\"];var dynCall_i=Module[\"dynCall_i\"]=asm[\"dynCall_i\"];var dynCall_iiiii=Module[\"dynCall_iiiii\"]=asm[\"dynCall_iiiii\"];var dynCall_viii=Module[\"dynCall_viii\"]=asm[\"dynCall_viii\"];var dynCall_v=Module[\"dynCall_v\"]=asm[\"dynCall_v\"];var dynCall_iiiiiiiii=Module[\"dynCall_iiiiiiiii\"]=asm[\"dynCall_iiiiiiiii\"];var dynCall_iiiiid=Module[\"dynCall_iiiiid\"]=asm[\"dynCall_iiiiid\"];var dynCall_viiii=Module[\"dynCall_viiii\"]=asm[\"dynCall_viiii\"];Runtime.stackAlloc=asm[\"stackAlloc\"];Runtime.stackSave=asm[\"stackSave\"];Runtime.stackRestore=asm[\"stackRestore\"];Runtime.establishStackSpace=asm[\"establishStackSpace\"];Runtime.setTempRet0=asm[\"setTempRet0\"];Runtime.getTempRet0=asm[\"getTempRet0\"];function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};Module[\"callMain\"]=Module.callMain=function callMain(args){assert(runDependencies==0,\"cannot call main when async dependencies remain! (listen on __ATMAIN__)\");assert(__ATPRERUN__.length==0,\"cannot call main when preRun functions remain to be called\");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module[\"thisProgram\"]),\"i8\",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(Module[\"_main\"]&&shouldRunNow)Module[\"callMain\"](args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=Module.run=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}if(ENVIRONMENT_IS_NODE){process[\"stdout\"][\"once\"](\"drain\",(function(){process[\"exit\"](status)}));console.log(\" \");setTimeout((function(){process[\"exit\"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit===\"function\"){quit(status)}throw new ExitStatus(status)}Module[\"exit\"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;var extra=\"\\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.\";var output=\"abort(\"+what+\") at \"+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module[\"abort\"]=Module.abort=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"]){shouldRunNow=false}run()\n\n\n\n\n\n return Module;\n};\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = CharLS;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/lib/charLS-DynamicMemory-browser.js\n// module id = 12\n// module chunks = 0","/*\n Copyright 2011 notmasteryet\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n */\n\n// - The JPEG specification can be found in the ITU CCITT Recommendation T.81\n// (www.w3.org/Graphics/JPEG/itu-t81.pdf)\n// - The JFIF specification can be found in the JPEG File Interchange Format\n// (www.w3.org/Graphics/JPEG/jfif3.pdf)\n// - The Adobe Application-Specific JPEG markers in the Supporting the DCT Filters\n// in PostScript Level 2, Technical Note #5116\n// (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf)\n\nvar ColorSpace = {Unkown: 0, Grayscale: 1, AdobeRGB: 2, RGB: 3, CYMK: 4};\nvar JpegImage = (function jpegImage() {\n \"use strict\";\n var dctZigZag = new Int32Array([\n 0,\n 1, 8,\n 16, 9, 2,\n 3, 10, 17, 24,\n 32, 25, 18, 11, 4,\n 5, 12, 19, 26, 33, 40,\n 48, 41, 34, 27, 20, 13, 6,\n 7, 14, 21, 28, 35, 42, 49, 56,\n 57, 50, 43, 36, 29, 22, 15,\n 23, 30, 37, 44, 51, 58,\n 59, 52, 45, 38, 31,\n 39, 46, 53, 60,\n 61, 54, 47,\n 55, 62,\n 63\n ]);\n\n var dctCos1 = 4017; // cos(pi/16)\n var dctSin1 = 799; // sin(pi/16)\n var dctCos3 = 3406; // cos(3*pi/16)\n var dctSin3 = 2276; // sin(3*pi/16)\n var dctCos6 = 1567; // cos(6*pi/16)\n var dctSin6 = 3784; // sin(6*pi/16)\n var dctSqrt2 = 5793; // sqrt(2)\n var dctSqrt1d2 = 2896; // sqrt(2) / 2\n\n function constructor() {\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({children: [], index: 0});\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = {children: [], index: 0});\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n // p here points to last code\n code.push(q = {children: [], index: 0});\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset,\n frame, components, resetInterval,\n spectralStart, spectralEnd,\n successivePrev, successive) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return (bitsData >> bitsCount) & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 0xFF) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw \"unexpected marker: \" + ((bitsData << 8) | nextByte).toString(16);\n }\n // unstuff 0\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n var bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === 'number')\n return node;\n if (typeof node !== 'object')\n throw \"invalid huffman sequence\";\n }\n return null;\n }\n\n function receive(length) {\n var n = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n = (n << 1) | bit;\n length--;\n }\n return n;\n }\n\n function receiveAndExtend(length) {\n var n = receive(length);\n if (n >= 1 << (length - 1))\n return n;\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[offset] = (component.pred += diff);\n var k = 1;\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k += 16;\n continue;\n }\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : (receiveAndExtend(t) << successive);\n component.blockData[offset] = (component.pred += diff);\n }\n\n function decodeDCSuccessive(component, offset) {\n component.blockData[offset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n function decodeACFirst(component, offset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k = spectralStart, e = spectralEnd;\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component, offset) {\n var k = spectralStart, e = spectralEnd, r = 0;\n while (k <= e) {\n var z = dctZigZag[k];\n switch (successiveACState) {\n case 0: // initial state\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15;\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw \"invalid ACn encoding\";\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1: // skipping r zero items\n case 2:\n if (component.blockData[offset + z]) {\n component.blockData[offset + z] += (readBit() << successive);\n } else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3: // set value for a zero item\n if (component.blockData[offset + z]) {\n component.blockData[offset + z] += (readBit() << successive);\n } else {\n component.blockData[offset + z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4: // eob\n if (component.blockData[offset + z]) {\n component.blockData[offset + z] += (readBit() << successive);\n }\n break;\n }\n k++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = (mcu / mcusPerLine) | 0;\n var mcuCol = mcu % mcusPerLine;\n var blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n function decodeBlock(component, decode, mcu) {\n var blockRow = (mcu / component.blocksPerLine) | 0;\n var blockCol = mcu % component.blocksPerLine;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval) {\n resetInterval = mcuExpected;\n }\n\n var h, v;\n while (mcu < mcuExpected) {\n // reset interval stuff\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n eobrun = 0;\n\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n }\n }\n\n // find marker\n bitsCount = 0;\n marker = (data[offset] << 8) | data[offset + 1];\n if (marker <= 0xFF00) {\n throw \"marker was not found\";\n }\n\n if (marker >= 0xFFD0 && marker <= 0xFFD7) { // RSTx\n offset += 2;\n } else {\n break;\n }\n }\n\n return offset - startOffset;\n }\n\n // A port of poppler's IDCT method which in turn is taken from:\n // Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,\n // \"Practical Fast 1-D DCT Algorithms with 11 Multiplications\",\n // IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989,\n // 988-991.\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var i;\n\n // dequant\n for (i = 0; i < 64; i++) {\n p[i] = component.blockData[blockBufferOffset + i] * qt[i];\n }\n\n // inverse DCT on rows\n for (i = 0; i < 8; ++i) {\n var row = 8 * i;\n\n // check for all-zero AC coefficients\n if (p[1 + row] === 0 && p[2 + row] === 0 && p[3 + row] === 0 &&\n p[4 + row] === 0 && p[5 + row] === 0 && p[6 + row] === 0 &&\n p[7 + row] === 0) {\n t = (dctSqrt2 * p[0 + row] + 512) >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n\n // stage 4\n v0 = (dctSqrt2 * p[0 + row] + 128) >> 8;\n v1 = (dctSqrt2 * p[4 + row] + 128) >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = (dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128) >> 8;\n v7 = (dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128) >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n\n // stage 3\n t = (v0 - v1 + 1) >> 1;\n v0 = (v0 + v1 + 1) >> 1;\n v1 = t;\n t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8;\n v3 = t;\n t = (v4 - v6 + 1) >> 1;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = t;\n t = (v7 + v5 + 1) >> 1;\n v5 = (v7 - v5 + 1) >> 1;\n v7 = t;\n\n // stage 2\n t = (v0 - v3 + 1) >> 1;\n v0 = (v0 + v3 + 1) >> 1;\n v3 = t;\n t = (v1 - v2 + 1) >> 1;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = t;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n\n // inverse DCT on columns\n for (i = 0; i < 8; ++i) {\n var col = i;\n\n // check for all-zero AC coefficients\n if (p[1 * 8 + col] === 0 && p[2 * 8 + col] === 0 && p[3 * 8 + col] === 0 &&\n p[4 * 8 + col] === 0 && p[5 * 8 + col] === 0 && p[6 * 8 + col] === 0 &&\n p[7 * 8 + col] === 0) {\n t = (dctSqrt2 * p[i + 0] + 8192) >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n\n // stage 4\n v0 = (dctSqrt2 * p[0 * 8 + col] + 2048) >> 12;\n v1 = (dctSqrt2 * p[4 * 8 + col] + 2048) >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = (dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048) >> 12;\n v7 = (dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048) >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n\n // stage 3\n t = (v0 - v1 + 1) >> 1;\n v0 = (v0 + v1 + 1) >> 1;\n v1 = t;\n t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12;\n v3 = t;\n t = (v4 - v6 + 1) >> 1;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = t;\n t = (v7 + v5 + 1) >> 1;\n v5 = (v7 - v5 + 1) >> 1;\n v7 = t;\n\n // stage 2\n t = (v0 - v3 + 1) >> 1;\n v0 = (v0 + v3 + 1) >> 1;\n v3 = t;\n t = (v1 - v2 + 1) >> 1;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = t;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n\n // convert to 8-bit integers\n for (i = 0; i < 64; ++i) {\n var index = blockBufferOffset + i;\n var q = p[i];\n q = (q <= -2056 / component.bitConversion) ? 0 :\n (q >= 2024 / component.bitConversion) ? 255 / component.bitConversion :\n (q + 2056 / component.bitConversion) >> 4;\n component.blockData[index] = q;\n }\n }\n\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var computationBuffer = new Int32Array(64);\n\n var i, j, ll = 0;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n return component.blockData;\n }\n\n function clampToUint8(a) {\n return a <= 0 ? 0 : a >= 255 ? 255 : a | 0;\n }\n\n constructor.prototype = {\n load: function load(path) {\n var handleData = (function (data) {\n this.parse(data);\n if (this.onload)\n this.onload();\n }).bind(this);\n\n if (path.indexOf(\"data:\") > -1) {\n var offset = path.indexOf(\"base64,\") + 7;\n var data = atob(path.substring(offset));\n var arr = new Uint8Array(data.length);\n for (var i = data.length - 1; i >= 0; i--) {\n arr[i] = data.charCodeAt(i);\n }\n handleData(data);\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", path, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = (function () {\n // TODO catch parse error\n var data = new Uint8Array(xhr.response);\n handleData(data);\n }).bind(this);\n xhr.send(null);\n }\n },\n parse: function parse(data) {\n\n function readUint16() {\n var value = (data[offset] << 8) | data[offset + 1];\n offset += 2;\n return value;\n }\n\n function readDataBlock() {\n var length = readUint16();\n var array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0, length = data.length;\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n if (fileMarker != 0xFFD8) { // SOI (Start of Image)\n throw \"SOI not found\";\n }\n\n fileMarker = readUint16();\n while (fileMarker != 0xFFD9) { // EOI (End of image)\n var i, j, l;\n switch (fileMarker) {\n case 0xFFE0: // APP0 (Application Specific)\n case 0xFFE1: // APP1\n case 0xFFE2: // APP2\n case 0xFFE3: // APP3\n case 0xFFE4: // APP4\n case 0xFFE5: // APP5\n case 0xFFE6: // APP6\n case 0xFFE7: // APP7\n case 0xFFE8: // APP8\n case 0xFFE9: // APP9\n case 0xFFEA: // APP10\n case 0xFFEB: // APP11\n case 0xFFEC: // APP12\n case 0xFFED: // APP13\n case 0xFFEE: // APP14\n case 0xFFEF: // APP15\n case 0xFFFE: // COM (Comment)\n var appData = readDataBlock();\n\n if (fileMarker === 0xFFE0) {\n if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 &&\n appData[3] === 0x46 && appData[4] === 0) { // 'JFIF\\x00'\n jfif = {\n version: {major: appData[5], minor: appData[6]},\n densityUnits: appData[7],\n xDensity: (appData[8] << 8) | appData[9],\n yDensity: (appData[10] << 8) | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n // TODO APP1 - Exif\n if (fileMarker === 0xFFEE) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F &&\n appData[3] === 0x62 && appData[4] === 0x65 && appData[5] === 0) { // 'Adobe\\x00'\n adobe = {\n version: appData[6],\n flags0: (appData[7] << 8) | appData[8],\n flags1: (appData[9] << 8) | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n\n case 0xFFDB: // DQT (Define Quantization Tables)\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Int32Array(64);\n if ((quantizationTableSpec >> 4) === 0) { // 8 bit values\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if ((quantizationTableSpec >> 4) === 1) { //16 bit\n for (j = 0; j < 64; j++) {\n var zz = dctZigZag[j];\n tableData[zz] = readUint16();\n }\n } else\n throw \"DQT: invalid table spec\";\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n\n case 0xFFC0: // SOF0 (Start of Frame, Baseline DCT)\n case 0xFFC1: // SOF1 (Start of Frame, Extended DCT)\n case 0xFFC2: // SOF2 (Start of Frame, Progressive DCT)\n if (frame) {\n throw \"Only single frame JPEGs supported\";\n }\n readUint16(); // skip data length\n frame = {};\n frame.extended = (fileMarker === 0xFFC1);\n frame.progressive = (fileMarker === 0xFFC2);\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n var qId = data[offset + 2];\n l = frame.components.push({\n h: h,\n v: v,\n quantizationTable: quantizationTables[qId],\n quantizationTableId: qId,\n bitConversion: 255 / ((1 << frame.precision) - 1)\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xFFC4: // DHT (Define Huffman Tables)\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += (codeLengths[j] = data[offset]);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n\n ((huffmanTableSpec >> 4) === 0 ?\n huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] =\n buildHuffmanTable(codeLengths, huffmanValues);\n }\n break;\n\n case 0xFFDD: // DRI (Define Restart Interval)\n readUint16(); // skip data length\n resetInterval = readUint16();\n break;\n\n case 0xFFDA: // SOS (Start of Scan)\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n var componentIndex = frame.componentIds[data[offset++]];\n component = frame.components[componentIndex];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset,\n frame, components, resetInterval,\n spectralStart, spectralEnd,\n successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n break;\n default:\n if (data[offset - 3] == 0xFF &&\n data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {\n // could be incorrect encoding -- last 0xFF byte of the previous\n // block was eaten by the encoder\n offset -= 3;\n break;\n }\n throw \"unknown JPEG marker \" + fileMarker.toString(16);\n }\n fileMarker = readUint16();\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n switch (frame.components.length)\n {\n case 1:\n this.colorspace = ColorSpace.Grayscale;\n break;\n case 3:\n if (this.adobe)\n this.colorspace = ColorSpace.AdobeRGB;\n else\n this.colorspace = ColorSpace.RGB;\n break;\n case 4:\n this.colorspace = ColorSpace.CYMK;\n break;\n default:\n this.colorspace = ColorSpace.Unknown;\n }\n for (var i = 0; i < frame.components.length; i++) {\n var component = frame.components[i];\n if (!component.quantizationTable && component.quantizationTableId !== null)\n component.quantizationTable = quantizationTables[component.quantizationTableId];\n this.components.push({\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn,\n bitConversion: component.bitConversion\n });\n }\n },\n getData16: function getData16(width, height) {\n if (this.components.length !== 1)\n throw 'Unsupported color mode';\n var scaleX = this.width / width, scaleY = this.height / height;\n\n var component, componentScaleX, componentScaleY;\n var x, y, i;\n var offset = 0;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint16Array(dataLength);\n var componentLine;\n\n // lineData is reused for all components. Assume first component is\n // the biggest\n var lineData = new Uint16Array((this.components[0].blocksPerLine << 3) *\n this.components[0].blocksPerColumn * 8);\n\n // First construct image data ...\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n\n var j, k, ll = 0;\n var lineOffset = 0;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var lineOffset = (scanLine + j) * samplesPerLine;\n for (k = 0; k < 8; k++) {\n lineData[lineOffset + sample + k] =\n component.output[bufferOffset + offset++];\n }\n }\n }\n }\n\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n\n var cx, cy;\n var index;\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n cy = 0 | (y * componentScaleY);\n cx = 0 | (x * componentScaleX);\n index = cy * samplesPerLine + cx;\n data[offset] = lineData[index];\n offset += numComponents;\n }\n }\n }\n return data;\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n\n var component, componentScaleX, componentScaleY;\n var x, y, i;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8Array(dataLength);\n var componentLine;\n\n // lineData is reused for all components. Assume first component is\n // the biggest\n var lineData = new Uint8Array((this.components[0].blocksPerLine << 3) *\n this.components[0].blocksPerColumn * 8);\n\n // First construct image data ...\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n\n var j, k, ll = 0;\n var lineOffset = 0;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var lineOffset = (scanLine + j) * samplesPerLine;\n for (k = 0; k < 8; k++) {\n lineData[lineOffset + sample + k] =\n component.output[bufferOffset + offset++] * component.bitConversion;\n }\n }\n }\n }\n\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n\n var cx, cy;\n var index;\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n cy = 0 | (y * componentScaleY);\n cx = 0 | (x * componentScaleX);\n index = cy * samplesPerLine + cx;\n data[offset] = lineData[index];\n offset += numComponents;\n }\n }\n }\n\n // ... then transform colors, if necessary\n switch (numComponents) {\n case 1:\n case 2:\n break;\n // no color conversion for one or two compoenents\n\n case 3:\n // The default transform for three components is true\n colorTransform = true;\n // The adobe transform marker overrides any previous setting\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.colorTransform !== 'undefined')\n colorTransform = !!this.colorTransform;\n\n if (colorTransform) {\n for (i = 0; i < dataLength; i += numComponents) {\n Y = data[i ];\n Cb = data[i + 1];\n Cr = data[i + 2];\n\n R = clampToUint8(Y - 179.456 + 1.402 * Cr);\n G = clampToUint8(Y + 135.459 - 0.344 * Cb - 0.714 * Cr);\n B = clampToUint8(Y - 226.816 + 1.772 * Cb);\n\n data[i ] = R;\n data[i + 1] = G;\n data[i + 2] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw 'Unsupported color mode (4 components)';\n // The default transform for four components is false\n colorTransform = false;\n // The adobe transform marker overrides any previous setting\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.colorTransform !== 'undefined')\n colorTransform = !!this.colorTransform;\n\n if (colorTransform) {\n for (i = 0; i < dataLength; i += numComponents) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n\n C = clampToUint8(434.456 - Y - 1.402 * Cr);\n M = clampToUint8(119.541 - Y + 0.344 * Cb + 0.714 * Cr);\n Y = clampToUint8(481.816 - Y - 1.772 * Cb);\n\n data[i ] = C;\n data[i + 1] = M;\n data[i + 2] = Y;\n // K is unchanged\n }\n }\n break;\n default:\n throw 'Unsupported color mode';\n }\n return data;\n }\n };\n\n return constructor;\n})();\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = {\n JpegImage: JpegImage\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/lib/jpeg-baseline.js\n// module id = 13\n// module chunks = 0","// Adapted from: https://github.com/chafey/cornerstoneWADOImageLoader/blob/73ed7c4bbbd275bb0f7f9f363ef82575c17bb5f1/src/webWorker/decodeTask/decoders/decodeJPEGLS.js\n/*!\n The MIT License (MIT)\n\n Copyright (c) 2014 Chris Hafey (chafey@gmail.com)\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n\n\"use strict\";\n\nvar CharLS = CharLS || ((typeof require !== 'undefined') ? require('../lib/charLS-DynamicMemory-browser.js') : null);\n\nvar JpegLS = (function () {\n var charLS;\n\n function constructor() {\n }\n\n constructor.prototype = {\n decodeJPEGLS: function(pixelData, signed) {\n return decodeJPEGLS(pixelData, signed);\n }\n };\n\n function jpegLSDecode(data, isSigned) {\n // prepare input parameters\n var dataPtr = charLS._malloc(data.length);\n charLS.writeArrayToMemory(data, dataPtr);\n\n // prepare output parameters\n var imagePtrPtr=charLS._malloc(4);\n var imageSizePtr=charLS._malloc(4);\n var widthPtr=charLS._malloc(4);\n var heightPtr=charLS._malloc(4);\n var bitsPerSamplePtr=charLS._malloc(4);\n var stridePtr=charLS._malloc(4);\n var allowedLossyErrorPtr =charLS._malloc(4);\n var componentsPtr=charLS._malloc(4);\n var interleaveModePtr=charLS._malloc(4);\n\n // Decode the image\n var result = charLS.ccall(\n 'jpegls_decode',\n 'number',\n ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'],\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]\n );\n\n // Extract result values into object\n var image = {\n result : result,\n width : charLS.getValue(widthPtr,'i32'),\n height : charLS.getValue(heightPtr,'i32'),\n bitsPerSample : charLS.getValue(bitsPerSamplePtr,'i32'),\n stride : charLS.getValue(stridePtr,'i32'),\n components : charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError : charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n };\n\n // Copy image from emscripten heap into appropriate array buffer type\n var imagePtr = charLS.getValue(imagePtrPtr, '*');\n if(image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else {\n // I have seen 16 bit signed images, but I don't know if 16 bit unsigned is valid, hoping to get\n // answer here:\n // https://github.com/team-charls/charls/issues/14\n if(isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n }\n }\n\n // free memory and return image object\n charLS._free(dataPtr);\n charLS._free(imagePtr);\n charLS._free(imagePtrPtr);\n charLS._free(imageSizePtr);\n charLS._free(widthPtr);\n charLS._free(heightPtr);\n charLS._free(bitsPerSamplePtr);\n charLS._free(stridePtr);\n charLS._free(componentsPtr);\n charLS._free(interleaveModePtr);\n\n return image;\n }\n\n function initializeJPEGLS() {\n // check to make sure codec is loaded\n if(typeof CharLS === 'undefined') {\n throw 'No JPEG-LS decoder loaded';\n }\n\n // Try to initialize CharLS\n // CharLS https://github.com/chafey/charls\n if(!charLS) {\n charLS = CharLS();\n if(!charLS || !charLS._jpegls_decode) {\n throw 'JPEG-LS failed to initialize';\n }\n }\n }\n\n function decodeJPEGLS(pixelData, signed) {\n initializeJPEGLS();\n\n var image = jpegLSDecode(pixelData, signed);\n // console.log(image);\n\n // throw error if not success or too much data\n if(image.result !== 0 && image.result !== 6) {\n throw 'JPEG-LS decoder failed to decode frame (error code ' + image.result + ')';\n }\n\n var imageFrame = {};\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n\n return imageFrame;\n }\n\n return constructor;\n}());\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = JpegLS;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/lib/jpeg-ls.js\n// module id = 14\n// module chunks = 0","/*! image-JPEG2000 - v0.3.1 - 2015-08-26 | https://github.com/OHIF/image-JPEG2000 */\n/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals ArithmeticDecoder, globalScope, log2, readUint16, readUint32,\n info, warn */\n\n'use strict';\n\nvar JpxImage = (function JpxImageClosure() {\n // Table E.1\n var SubbandsGainLog2 = {\n 'LL': 0,\n 'LH': 1,\n 'HL': 1,\n 'HH': 2\n };\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n\n var head = readUint16(data, 0);\n // No box header, immediate start of codestream (SOC)\n if (head === 0xFF4F) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0, length = data.length;\n while (position < length) {\n var headerSize = 8;\n var lbox = readUint32(data, position);\n var tbox = readUint32(data, position + 4);\n position += headerSize;\n if (lbox === 1) {\n // XLBox: read UInt64 according to spec.\n // JavaScript's int precision of 53 bit should be sufficient here.\n lbox = readUint32(data, position) * 4294967296 +\n readUint32(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n if (lbox < headerSize) {\n throw new Error('JPX Error: Invalid box field size');\n }\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n switch (tbox) {\n case 0x6A703268: // 'jp2h'\n jumpDataLength = false; // parsing child boxes\n break;\n case 0x636F6C72: // 'colr'\n // Colorspaces are not used, the CS from the PDF is used.\n var method = data[position];\n var precedence = data[position + 1];\n var approximation = data[position + 2];\n if (method === 1) {\n // enumerated colorspace\n var colorspace = readUint32(data, position + 3);\n switch (colorspace) {\n case 16: // this indicates a sRGB colorspace\n case 17: // this indicates a grayscale colorspace\n case 18: // this indicates a YUV colorspace\n break;\n default:\n warn('Unknown colorspace ' + colorspace);\n break;\n }\n } else if (method === 2) {\n info('ICC profile not supported');\n }\n break;\n case 0x6A703263: // 'jp2c'\n this.parseCodestream(data, position, position + dataLength);\n break;\n case 0x6A502020: // 'jP\\024\\024'\n if (0x0d0a870a !== readUint32(data, position)) {\n warn('Invalid JP2 signature');\n }\n break;\n // The following header types are valid but currently not used:\n case 0x6A501A1A: // 'jP\\032\\032'\n case 0x66747970: // 'ftyp'\n case 0x72726571: // 'rreq'\n case 0x72657320: // 'res '\n case 0x69686472: // 'ihdr'\n break;\n default:\n var headerType = String.fromCharCode((tbox >> 24) & 0xFF,\n (tbox >> 16) & 0xFF,\n (tbox >> 8) & 0xFF,\n tbox & 0xFF);\n warn('Unsupported header type ' + tbox + ' (' + headerType + ')');\n break;\n }\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = (oldByte << 8) | newByte;\n // Image and tile size (SIZ)\n if (code === 0xFF51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0; // Byte 4\n var Ysiz = stream.getInt32() >>> 0; // Byte 8\n var XOsiz = stream.getInt32() >>> 0; // Byte 12\n var YOsiz = stream.getInt32() >>> 0; // Byte 16\n stream.skip(16);\n var Csiz = stream.getUint16(); // Byte 36\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n // Results are always returned as Uint8Arrays\n this.bitsPerComponent = 8;\n return;\n }\n }\n throw new Error('JPX Error: No size marker found in JPX stream');\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n try {\n var doNotRecover = false;\n var position = start;\n while (position + 1 < end) {\n var code = readUint16(data, position);\n position += 2;\n\n var length = 0, j, sqcd, spqcds, spqcdSize, scalarExpounded, tile;\n switch (code) {\n case 0xFF4F: // Start of codestream (SOC)\n context.mainHeader = true;\n break;\n case 0xFFD9: // End of codestream (EOC)\n break;\n case 0xFF51: // Image and tile size (SIZ)\n length = readUint16(data, position);\n var siz = {};\n siz.Xsiz = readUint32(data, position + 4);\n siz.Ysiz = readUint32(data, position + 8);\n siz.XOsiz = readUint32(data, position + 12);\n siz.YOsiz = readUint32(data, position + 16);\n siz.XTsiz = readUint32(data, position + 20);\n siz.YTsiz = readUint32(data, position + 24);\n siz.XTOsiz = readUint32(data, position + 28);\n siz.YTOsiz = readUint32(data, position + 32);\n var componentsCount = readUint16(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7F) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 1]\n };\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n case 0xFF5C: // Quantization default (QCD)\n length = readUint16(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error('JPX Error: Invalid SQcd value ' + sqcd);\n }\n qcd.noQuantization = (spqcdSize === 8);\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < length + position) {\n var spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcd.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n break;\n case 0xFF5D: // Quantization component (QCC)\n length = readUint16(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = readUint16(data, j);\n j += 2;\n }\n sqcd = data[j++];\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error('JPX Error: Invalid SQcd value ' + sqcd);\n }\n qcc.noQuantization = (spqcdSize === 8);\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < (length + position)) {\n spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcc.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n break;\n case 0xFF52: // Coding style default (COD)\n length = readUint16(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = readUint16(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xF) + 2;\n cod.ycb = (data[j++] & 0xF) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticalyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xF,\n PPy: precinctsSize >> 4\n });\n }\n cod.precinctsSizes = precinctsSizes;\n }\n var unsupported = [];\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push('selectiveArithmeticCodingBypass');\n }\n if (cod.resetContextProbabilities) {\n unsupported.push('resetContextProbabilities');\n }\n if (cod.terminationOnEachCodingPass) {\n unsupported.push('terminationOnEachCodingPass');\n }\n if (cod.verticalyStripe) {\n unsupported.push('verticalyStripe');\n }\n if (cod.predictableTermination) {\n unsupported.push('predictableTermination');\n }\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error('JPX Error: Unsupported COD options (' +\n unsupported.join(', ') + ')');\n }\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n break;\n case 0xFF90: // Start of tile-part (SOT)\n length = readUint16(data, position);\n tile = {};\n tile.index = readUint16(data, position + 2);\n tile.length = readUint32(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n\n context.mainHeader = false;\n if (tile.partIndex === 0) {\n // reset component specific settings\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0); // clone of the global COC\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0); // clone of the global COC\n }\n context.currentTile = tile;\n break;\n case 0xFF93: // Start of data (SOD)\n tile = context.currentTile;\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n // moving to the end of the data\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n case 0xFF55: // Tile-part lengths, main header (TLM)\n case 0xFF57: // Packet length, main header (PLM)\n case 0xFF58: // Packet length, tile-part header (PLT)\n case 0xFF64: // Comment (COM)\n length = readUint16(data, position);\n // skipping content\n break;\n case 0xFF53: // Coding style component (COC)\n throw new Error('JPX Error: Codestream code 0xFF53 (COC) is ' +\n 'not implemented');\n default:\n throw new Error('JPX Error: Unknown codestream code: ' +\n code.toString(16));\n }\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw e;\n } else {\n warn('Trying to recover from ' + e.message);\n }\n }\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n };\n function calculateComponentDimensions(component, siz) {\n // Section B.2 Component mapping\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n // Section B.3 Division into tile and tile-components\n var tile, tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n context.tiles = tiles;\n\n var componentsCount = siz.Csiz;\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n // calculate codeblock size as described in section B.7\n result.xcb_ = (r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) :\n Math.min(codOrCoc.xcb, result.PPx));\n result.ycb_ = (r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) :\n Math.min(codOrCoc.ycb, result.PPy));\n return result;\n }\n function buildPrecincts(context, resolution, dimensions) {\n // Section B.6 Division resolution to precincts\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n // Jasper introduces codeblock groups for mapping each subband codeblocks\n // to precincts. Precinct partition divides a resolution according to width\n // and height parameters. The subband that belongs to the resolution level\n // has a different size than the level, unless it is the zero resolution.\n\n // From Jasper documentation: jpeg2000.pdf, section K: Tier-2 coding:\n // The precinct partitioning for a particular subband is derived from a\n // partitioning of its parent LL band (i.e., the LL band at the next higher\n // resolution level)... The LL band associated with each resolution level is\n // divided into precincts... Each of the resulting precinct regions is then\n // mapped into its child subbands (if any) at the next lower resolution\n // level. This is accomplished by using the coordinate transformation\n // (u, v) = (ceil(x/2), ceil(y/2)) where (x, y) and (u, v) are the\n // coordinates of a point in the LL band and child subband, respectively.\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << (dimensions.PPx + (isZeroRes ? 0 : -1));\n var precinctHeightInSubband = 1 << (dimensions.PPy + (isZeroRes ? 0 : -1));\n var numprecinctswide = (resolution.trx1 > resolution.trx0 ?\n Math.ceil(resolution.trx1 / precinctWidth) -\n Math.floor(resolution.trx0 / precinctWidth) : 0);\n var numprecinctshigh = (resolution.try1 > resolution.try0 ?\n Math.ceil(resolution.try1 / precinctHeight) -\n Math.floor(resolution.try0 / precinctHeight) : 0);\n var numprecincts = numprecinctswide * numprecinctshigh;\n\n resolution.precinctParameters = {\n precinctWidth: precinctWidth,\n precinctHeight: precinctHeight,\n numprecinctswide: numprecinctswide,\n numprecinctshigh: numprecinctshigh,\n numprecincts: numprecincts,\n precinctWidthInSubband: precinctWidthInSubband,\n precinctHeightInSubband: precinctHeightInSubband\n };\n }\n function buildCodeblocks(context, subband, dimensions) {\n // Section B.7 Division sub-band into code-blocks\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = (subband.tbx1 + codeblockWidth - 1) >> xcb_;\n var cby1 = (subband.tby1 + codeblockHeight - 1) >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n\n // Calculate precinct number for this codeblock, codeblock position\n // should be relative to its subband, use actual dimension and position\n // See comment about codeblock group width and height\n var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) /\n precinctParameters.precinctWidthInSubband);\n var pj = Math.floor((codeblock.tby0_ - subband.tby0) /\n precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + (pj * precinctParameters.numprecinctswide);\n\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (codeblock.tbx1_ <= codeblock.tbx0_ ||\n codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n codeblocks.push(codeblock);\n // building precinct for the sub-band\n var precinct = precincts[precinctNumber];\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n codeblock.precinct = precinct;\n }\n }\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n // Section B.10.8 Order of info in packet\n var subbands = resolution.subbands;\n // sub-bands already ordered in 'LL', 'HL', 'LH', and 'HH' sequence\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n precinctCodeblocks.push(codeblock);\n }\n }\n return {\n layerNumber: layerNumber,\n codeblocks: precinctCodeblocks\n };\n }\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount,\n tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var l = 0, r = 0, i = 0, k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.1 Layer-resolution-component-position\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n r = 0;\n }\n };\n }\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount,\n tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var r = 0, l = 0, i = 0, k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.2 Resolution-layer-component-position\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n l = 0;\n }\n };\n }\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n for (c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount,\n component.codingStyleParameters.decompositionLevelsCount);\n }\n var maxNumPrecinctsInLevel = new Int32Array(\n maxDecompositionLevelsCount + 1);\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts,\n resolutions[r].precinctParameters.numprecincts);\n }\n }\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.3 Resolution-position-component-layer\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n if (p >= numprecincts) {\n continue;\n }\n for (; l < layersCount;) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n l = 0;\n }\n c = 0;\n }\n p = 0;\n }\n };\n }\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0, r = 0, c = 0, px = 0, py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.4 Position-component-resolution-layer\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale =\n precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(\n px,\n py,\n sizeInImageScale,\n precinctsIterationSizes,\n resolution);\n if (k === null) {\n continue;\n }\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n c = 0;\n }\n px = 0;\n }\n };\n }\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0, r = 0, c = 0, px = 0, py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.5 Component-position-resolution-layer\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(\n px,\n py,\n sizeInImageScale,\n precinctsIterationSizes,\n resolution);\n if (k === null) {\n continue;\n }\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n px = 0;\n }\n py = 0;\n }\n };\n }\n function getPrecinctIndexIfExist(\n pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n if (posX % sizeInImageScale.width !== 0 ||\n posY % sizeInImageScale.height !== 0) {\n return null;\n }\n var startPrecinctRowIndex =\n (posY / sizeInImageScale.width) *\n resolution.precinctParameters.numprecinctswide;\n return (posX / sizeInImageScale.height) + startPrecinctRowIndex;\n }\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution =\n scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution =\n scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(\n minWidthCurrentComponent,\n widthCurrentResolution);\n minHeightCurrentComponent = Math.min(\n minHeightCurrentComponent,\n heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent,\n resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent,\n resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n return {\n components: sizePerComponent,\n minWidth: minWidth,\n minHeight: minHeight,\n maxNumWide: maxNumWide,\n maxNumHigh: maxNumHigh\n };\n }\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n // Creating resolutions and sub-bands for each component\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n // Section B.5 Resolution levels and sub-bands\n var resolutions = [];\n var subbands = [];\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << (decompositionLevelsCount - r);\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n\n var subband;\n if (r === 0) {\n // one sub-band (LL) with last decomposition\n subband = {};\n subband.type = 'LL';\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << (decompositionLevelsCount - r + 1);\n var resolutionSubbands = [];\n // three sub-bands (HL, LH and HH) with rest of decompositions\n subband = {};\n subband.type = 'HL';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n subband = {};\n subband.type = 'LH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n subband = {};\n subband.type = 'HH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n resolution.subbands = resolutionSubbands;\n }\n }\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n // Generate the packets sequence\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator =\n new LayerResolutionComponentPositionIterator(context);\n break;\n case 1:\n tile.packetsIterator =\n new ResolutionLayerComponentPositionIterator(context);\n break;\n case 2:\n tile.packetsIterator =\n new ResolutionPositionComponentLayerIterator(context);\n break;\n case 3:\n tile.packetsIterator =\n new PositionComponentResolutionLayerIterator(context);\n break;\n case 4:\n tile.packetsIterator =\n new ComponentPositionResolutionLayerIterator(context);\n break;\n default:\n throw new Error('JPX Error: Unsupported progression order ' +\n progressionOrder);\n }\n }\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer, bufferSize = 0, skipNextBit = false;\n function readBits(count) {\n while (bufferSize < count) {\n if(offset + position >= data.length){\n throw new Error(\"Unexpected EOF\");\n }\n var b = data[offset + position];\n position++;\n if (skipNextBit) {\n buffer = (buffer << 7) | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = (buffer << 8) | b;\n bufferSize += 8;\n }\n if (b === 0xFF) {\n skipNextBit = true;\n }\n }\n bufferSize -= count;\n return (buffer >>> bufferSize) & ((1 << count) - 1);\n }\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xFF &&\n data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xFF &&\n data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n return false;\n }\n function skipBytes(count) {\n position += count;\n }\n function alignToByte() {\n bufferSize = 0;\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n if (readBits(1) === 0) {\n return 2;\n }\n var value = readBits(2);\n if (value < 3) {\n return value + 3;\n }\n value = readBits(5);\n if (value < 31) {\n return value + 6;\n }\n value = readBits(7);\n return value + 37;\n }\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n while (position < dataLength) {\n try{\n alignToByte();\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n // Skip also marker segment length and packet sequence ID\n skipBytes(4);\n }\n var packet = packetsIterator.nextPacket();\n if (packet === undefined) {\n //No more packets. Stream is probably truncated.\n return;\n }\n if (!readBits(1)) {\n continue;\n }\n var layerNumber = packet.layerNumber;\n var queue = [], codeblock;\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n if (codeblock['included'] !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n // reading inclusion tree\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n if (precinct['inclusionTree'] !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n // building inclusion and zero bit-planes trees\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber);\n while (true) {\n if (position >= data.length) {\n return;\n }\n if (inclusionTree.isAboveThreshold()){\n break;\n }\n if (inclusionTree.isKnown()) {\n inclusionTree.nextLevel();\n continue;\n }\n if (readBits(1)) {\n inclusionTree.setKnown();\n if (inclusionTree.isLeaf()) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n } else {\n inclusionTree.nextLevel();\n }\n } else {\n inclusionTree.incrementValue();\n }\n }\n }\n if (!codeblockIncluded) {\n continue;\n }\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n while (true) {\n if (position >= data.length) {\n return;\n }\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n var codingpasses = readCodingpasses();\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n var codingpassesLog2 = log2(codingpasses);\n // rounding down log2\n var bits = ((codingpasses < (1 << codingpassesLog2)) ?\n codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock: codeblock,\n codingpasses: codingpasses,\n dataLength: codedDataLength\n });\n }\n alignToByte();\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n if (codeblock['data'] === undefined) {\n codeblock.data = [];\n }\n codeblock.data.push({\n data: data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n } catch (e) {\n return;\n }\n }\n return position;\n }\n function copyCoefficients(coefficients, levelWidth, levelHeight, subband,\n delta, mb, reversible, segmentationSymbolUsed) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === 'H' ? 1 : 0;\n var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n if (codeblock['data'] === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType,\n codeblock.zeroBitPlanes, mb);\n currentCodingpassType = 2; // first bit plane starts from cleanup\n\n // collect data\n var data = codeblock.data, totalLength = 0, codingpasses = 0;\n var j, jj, dataItem;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n var encodedData = new Int16Array(totalLength);\n var position = 0;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n // decoding the item\n var decoder = new ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropogationPass();\n break;\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n case 2:\n bitModel.runCleanupPass();\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n break;\n }\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = (codeblock.tbx0_ - x0) + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n // Do the interleaving of Section F.3.3 here, so we do not need\n // to copy later. LL level is not interleaved, just copied.\n var interleave = (subband.type !== 'LL');\n for (j = 0; j < blockHeight; j++) {\n var row = (offset / width) | 0; // row in the non-interleaved subband\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n if (sign[position] !== 0) {\n n = -n;\n }\n nb = bitsDecoded[position];\n var pos = interleave ? (levelOffset + (offset << 1)) : offset;\n if (reversible && (nb >= mb)) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << (mb - nb));\n }\n }\n offset++;\n position++;\n }\n offset += width - blockWidth;\n }\n }\n }\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount =\n codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = (reversible ? new ReversibleTransform() :\n new IrreversibleTransform());\n\n var subbandCoefficients = [];\n var b = 0;\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n // Allocate space for the whole sublevel.\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n if (!scalarExpounded) {\n // formula E-5\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n\n // calulate quantization coefficient (Section E.1.1.1)\n var delta = (reversible ? 1 :\n Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048));\n var mb = (guardBits + epsilon - 1);\n\n // In the first resolution level, copyCoefficients will fill the\n // whole array with coefficients. In the succeding passes,\n // copyCoefficients will consecutively fill in the values that belong\n // to the interleaved positions of the HL, LH, and HH coefficients.\n // The LL coefficients will then be interleaved in Transform.iterate().\n copyCoefficients(coefficients, width, height, subband, delta, mb,\n reversible, segmentationSymbolUsed);\n }\n subbandCoefficients.push({\n width: width,\n height: height,\n items: coefficients\n });\n }\n\n var result = transform.calculate(subbandCoefficients,\n component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n }\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n var tile0 = transformedTiles[0];\n var isSigned = components[0].isSigned;\n if (isSigned) {\n var out = new Int16Array(tile0.items.length * componentsCount);\n } else {\n var out = new Uint16Array(tile0.items.length * componentsCount);\n }\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n\n // Section G.2.2 Inverse multi component transform\n var shift, offset, max, min, maxK;\n var pos = 0, j, jj, y0, y1, y2, r, g, b, k, val;\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n\n // HACK: The multiple component transform formulas below assume that\n // all components have the same precision. With this in mind, we\n // compute shift and offset only once.\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n max = 255 * (1 << shift);\n maxK = max * 0.5;\n min = -maxK;\n\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n if (!component0.codingStyleParameters.reversibleTransformation) {\n // inverse irreversible multiple component transform\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n r = y0 + 1.402 * y2;\n g = y0 - 0.34413 * y1 - 0.71414 * y2;\n b = y0 + 1.772 * y1;\n out[pos++] = r <= 0 ? 0 : r >= max ? 255 : r >> shift;\n out[pos++] = g <= 0 ? 0 : g >= max ? 255 : g >> shift;\n out[pos++] = b <= 0 ? 0 : b >= max ? 255 : b >> shift;\n }\n } else {\n // inverse reversible multiple component transform\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n g = y0 - ((y2 + y1) >> 2);\n r = g + y2;\n b = g + y1;\n out[pos++] = r <= 0 ? 0 : r >= max ? 255 : r >> shift;\n out[pos++] = g <= 0 ? 0 : g >= max ? 255 : g >> shift;\n out[pos++] = b <= 0 ? 0 : b >= max ? 255 : b >> shift;\n }\n }\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n k = y3items[j];\n out[pos] = k <= min ? 0 : k >= maxK ? 255 : (k + offset) >> shift;\n }\n }\n } else { // no multi-component transform\n for (c = 0; c < componentsCount; c++) {\n if (components[c].precision === 8){\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n max = (127.5 * (1 << shift));\n min = -max;\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n val = items[j];\n out[pos] = val <= min ? 0 :\n val >= max ? 255 : (val + offset) >> shift;\n pos += componentsCount;\n }\n }else{\n var isSigned = components[c].isSigned;\n var items = transformedTiles[c].items;\n\n if(isSigned){\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j];\n pos += componentsCount;\n }\n }else{\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n var precisionMax = Math.pow(2,components[c].precision)-1;\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n val = items[j];\n out[pos] = Math.max(Math.min((val + offset),precisionMax),0);\n pos += componentsCount;\n }\n }\n }\n }\n }\n resultImages.push(result);\n }\n return resultImages;\n }\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc = (context.currentTile.QCC[c] !== undefined ?\n context.currentTile.QCC[c] : context.currentTile.QCD);\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc = (context.currentTile.COC[c] !== undefined ?\n context.currentTile.COC[c] : context.currentTile.COD);\n component.codingStyleParameters = codOrCoc;\n }\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n // Section B.10.2 Tag trees\n var TagTree = (function TagTreeClosure() {\n function TagTree(width, height) {\n var levelsLength = log2(Math.max(width, height)) + 1;\n this.levels = [];\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width: width,\n height: height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0, value = 0, level;\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return TagTree;\n })();\n\n var InclusionTree = (function InclusionTreeClosure() {\n function InclusionTree(width, height) {\n var levelsLength = log2(Math.max(width, height)) + 1;\n this.levels = [];\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n var status = new Uint8Array(width * height);\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = 0;\n status[j] = 0;\n }\n\n var level = {\n width: width,\n height: height,\n items: items,\n status: status\n };\n this.levels.push(level);\n\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n this.currentStopValue = stopValue;\n var currentLevel = 0;\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n this.currentLevel = this.levels.length - 1;\n this.minValue =this.levels[this.currentLevel].items[0];\n return;\n },\n incrementValue: function InclusionTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = level.items[level.index] + 1;\n if(level.items[level.index] > this.minValue) {\n this.minValue = level.items[level.index];\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n currentLevel--;\n if (currentLevel < 0) {\n return false;\n } else {\n this.currentLevel = currentLevel;\n var level = this.levels[currentLevel];\n if(level.items[level.index] < this.minValue) {\n level.items[level.index] = this.minValue;\n }else if (level.items[level.index] > this.minValue) {\n this.minValue = level.items[level.index];\n }\n return true;\n }\n },\n isLeaf: function InclusionTree_isLeaf(){\n return (this.currentLevel === 0);\n },\n isAboveThreshold: function InclusionTree_isAboveThreshold(){\n var levelindex = this.currentLevel;\n var level = this.levels[levelindex];\n return (level.items[level.index] > this.currentStopValue);\n },\n isKnown: function InclusionTree_isKnown(){\n var levelindex = this.currentLevel;\n var level = this.levels[levelindex];\n return (level.status[level.index] > 0);\n },\n setKnown: function InclusionTree_setKnown(){\n var levelindex = this.currentLevel;\n var level = this.levels[levelindex];\n level.status[level.index] = 1;\n return;\n }\n\n };\n return InclusionTree;\n })();\n\n // Section D. Coefficient bit modeling\n var BitModel = (function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n // Table D-1\n // The index is binary presentation: 0dddvvhh, ddd - sum of Di (0..4),\n // vv - sum of Vi (0..2), and hh - sum of Hi (0..2)\n var LLAndLHContextsLabel = new Uint8Array([\n 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,\n 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,\n 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\n ]);\n var HLContextLabel = new Uint8Array([\n 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,\n 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,\n 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\n ]);\n var HHContextLabel = new Uint8Array([\n 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,\n 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,\n 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\n ]);\n\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n\n this.contextLabelTable = (subband === 'HH' ? HHContextLabel :\n (subband === 'HL' ? HLContextLabel : LLAndLHContextsLabel));\n\n var coefficientCount = width * height;\n\n // coefficients outside the encoding region treated as insignificant\n // add border state cells for significanceState\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) :\n mb > 6 ? new Uint16Array(coefficientCount) :\n new Uint8Array(coefficientCount);\n this.processingFlags = new Uint8Array(coefficientCount);\n\n var bitsDecoded = new Uint8Array(coefficientCount);\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n this.bitsDecoded = bitsDecoded;\n\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n // We have 17 contexts that are accessed via context labels,\n // plus the uniform and runlength context.\n this.contexts = new Int8Array(19);\n\n // Contexts are packed into 1 byte:\n // highest 7 bits carry the index, lowest bit carries mps\n this.contexts[0] = (4 << 1) | 0;\n this.contexts[UNIFORM_CONTEXT] = (46 << 1) | 0;\n this.contexts[RUNLENGTH_CONTEXT] = (3 << 1) | 0;\n },\n setNeighborsSignificance:\n function BitModel_setNeighborsSignificance(row, column, index) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width, height = this.height;\n var left = (column > 0);\n var right = (column + 1 < width);\n var i;\n\n if (row > 0) {\n i = index - width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropogationPass:\n function BitModel_runSignificancePropogationPass() {\n var decoder = this.decoder;\n var width = this.width, height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n if (i >= height) {\n break;\n }\n // clear processed flag first\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] ||\n !neighborsSignificance[index]) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width, height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n\n // calculate horizontal contribution\n significance1 = (column > 0 && coefficentsMagnitude[index - 1] !== 0);\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n var horizontalContribution = 3 * contribution;\n\n // calculate vertical contribution and combine with the horizontal\n significance1 = (row > 0 && coefficentsMagnitude[index - width] !== 0);\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n return decoded;\n },\n runMagnitudeRefinementPass:\n function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width, height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n\n // significant but not those that have just become\n if (!coefficentsMagnitude[index] ||\n (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = 16;\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n // first refinement\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] =\n (coefficentsMagnitude[index] << 1) | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width, height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n // using the property: labels[neighborsSignificance[index]] === 0\n // when neighborsSignificance[index] === 0\n var allEmpty = (checkAllEmpty &&\n processingFlags[index0] === 0 &&\n processingFlags[index0 + oneRowDown] === 0 &&\n processingFlags[index0 + twoRowsDown] === 0 &&\n processingFlags[index0 + threeRowsDown] === 0 &&\n neighborsSignificance[index0] === 0 &&\n neighborsSignificance[index0 + oneRowDown] === 0 &&\n neighborsSignificance[index0 + twoRowsDown] === 0 &&\n neighborsSignificance[index0 + threeRowsDown] === 0);\n var i1 = 0, index = index0;\n var i = i0, sign;\n if (allEmpty) {\n var hasSignificantCoefficent =\n decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue; // next column\n }\n i1 = (decoder.readBit(contexts, UNIFORM_CONTEXT) << 1) |\n decoder.readBit(contexts, UNIFORM_CONTEXT);\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n\n index = index0;\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] ||\n (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol = (decoder.readBit(contexts, UNIFORM_CONTEXT) << 3) |\n (decoder.readBit(contexts, UNIFORM_CONTEXT) << 2) |\n (decoder.readBit(contexts, UNIFORM_CONTEXT) << 1) |\n decoder.readBit(contexts, UNIFORM_CONTEXT);\n if (symbol !== 0xA) {\n throw new Error('JPX Error: Invalid segmentation symbol');\n }\n }\n };\n\n return BitModel;\n })();\n\n // Section F, Discrete wavelet transformation\n var Transform = (function TransformClosure() {\n function Transform() {}\n\n Transform.prototype.calculate =\n function transformCalculate(subbands, u0, v0) {\n var ll = subbands[0];\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n return ll;\n };\n Transform.prototype.extend = function extend(buffer, offset, size) {\n // Section F.3.7 extending... using max extension of 4\n var i1 = offset - 1, j1 = offset + 1;\n var i2 = offset + size - 2, j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh,\n u0, v0) {\n var llWidth = ll.width, llHeight = ll.height, llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n // Interleave LL according to Section F.3.3\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n // The LL band is not needed anymore.\n llItems = ll.items = null;\n\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n // Section F.3.4 HOR_SR\n if (width === 1) {\n // if width = 1, when u0 even keep items as is, when odd divide by 2\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n\n items.set(\n rowBuffer.subarray(bufferPadding, bufferPadding + width),\n k);\n }\n }\n\n // Accesses to the items array can take long, because it may not fit into\n // CPU cache and has to be fetched from main memory. Since subsequent\n // accesses to the items array are not local when reading columns, we\n // have a cache miss every time. To reduce cache misses, get up to\n // 'numBuffers' items at a time and store them into the individual\n // buffers. The colBuffers should be small enough to fit into CPU cache.\n var numBuffers = 16;\n var colBuffers = [];\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n var b, currentBuffer = 0;\n ll = bufferPadding + height;\n\n // Section F.3.5 VER_SR\n if (height === 1) {\n // if height = 1, when v0 even keep items as is, when odd divide by 2\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n // if we ran out of buffers, copy several image columns at once\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n // If this is last buffer in this group of buffers, flush all buffers.\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width: width,\n height: height,\n items: items\n };\n };\n return Transform;\n })();\n\n // Section 3.8.2 Irreversible 9-7 filter\n var IrreversibleTransform = (function IrreversibleTransformClosure() {\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n IrreversibleTransform.prototype.filter =\n function irreversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n\n // step 1 is combined with step 3\n\n // step 2\n j = offset - 3;\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n // step 1 & 3\n j = offset - 2;\n current = delta * x[j -1];\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n // step 4\n j = offset - 1;\n current = gamma * x[j - 1];\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n // step 5\n j = offset;\n current = beta * x[j - 1];\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n // step 6\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n })();\n\n // Section 3.8.1 Reversible 5-3 filter\n var ReversibleTransform = (function ReversibleTransformClosure() {\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n ReversibleTransform.prototype.filter =\n function reversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= (x[j - 1] + x[j + 1] + 2) >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += (x[j - 1] + x[j + 1]) >> 1;\n }\n };\n\n return ReversibleTransform;\n })();\n\n return JpxImage;\n})();\n\n\n/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'use strict';\n\n/* This class implements the QM Coder decoding as defined in\n * JPEG 2000 Part I Final Committee Draft Version 1.0\n * Annex C.3 Arithmetic decoding procedure \n * available at http://www.jpeg.org/public/fcd15444-1.pdf\n * \n * The arithmetic decoder is used in conjunction with context models to decode\n * JPEG2000 and JBIG2 streams.\n */\nvar ArithmeticDecoder = (function ArithmeticDecoderClosure() {\n // Table C-2\n var QeTable = [\n {qe: 0x5601, nmps: 1, nlps: 1, switchFlag: 1},\n {qe: 0x3401, nmps: 2, nlps: 6, switchFlag: 0},\n {qe: 0x1801, nmps: 3, nlps: 9, switchFlag: 0},\n {qe: 0x0AC1, nmps: 4, nlps: 12, switchFlag: 0},\n {qe: 0x0521, nmps: 5, nlps: 29, switchFlag: 0},\n {qe: 0x0221, nmps: 38, nlps: 33, switchFlag: 0},\n {qe: 0x5601, nmps: 7, nlps: 6, switchFlag: 1},\n {qe: 0x5401, nmps: 8, nlps: 14, switchFlag: 0},\n {qe: 0x4801, nmps: 9, nlps: 14, switchFlag: 0},\n {qe: 0x3801, nmps: 10, nlps: 14, switchFlag: 0},\n {qe: 0x3001, nmps: 11, nlps: 17, switchFlag: 0},\n {qe: 0x2401, nmps: 12, nlps: 18, switchFlag: 0},\n {qe: 0x1C01, nmps: 13, nlps: 20, switchFlag: 0},\n {qe: 0x1601, nmps: 29, nlps: 21, switchFlag: 0},\n {qe: 0x5601, nmps: 15, nlps: 14, switchFlag: 1},\n {qe: 0x5401, nmps: 16, nlps: 14, switchFlag: 0},\n {qe: 0x5101, nmps: 17, nlps: 15, switchFlag: 0},\n {qe: 0x4801, nmps: 18, nlps: 16, switchFlag: 0},\n {qe: 0x3801, nmps: 19, nlps: 17, switchFlag: 0},\n {qe: 0x3401, nmps: 20, nlps: 18, switchFlag: 0},\n {qe: 0x3001, nmps: 21, nlps: 19, switchFlag: 0},\n {qe: 0x2801, nmps: 22, nlps: 19, switchFlag: 0},\n {qe: 0x2401, nmps: 23, nlps: 20, switchFlag: 0},\n {qe: 0x2201, nmps: 24, nlps: 21, switchFlag: 0},\n {qe: 0x1C01, nmps: 25, nlps: 22, switchFlag: 0},\n {qe: 0x1801, nmps: 26, nlps: 23, switchFlag: 0},\n {qe: 0x1601, nmps: 27, nlps: 24, switchFlag: 0},\n {qe: 0x1401, nmps: 28, nlps: 25, switchFlag: 0},\n {qe: 0x1201, nmps: 29, nlps: 26, switchFlag: 0},\n {qe: 0x1101, nmps: 30, nlps: 27, switchFlag: 0},\n {qe: 0x0AC1, nmps: 31, nlps: 28, switchFlag: 0},\n {qe: 0x09C1, nmps: 32, nlps: 29, switchFlag: 0},\n {qe: 0x08A1, nmps: 33, nlps: 30, switchFlag: 0},\n {qe: 0x0521, nmps: 34, nlps: 31, switchFlag: 0},\n {qe: 0x0441, nmps: 35, nlps: 32, switchFlag: 0},\n {qe: 0x02A1, nmps: 36, nlps: 33, switchFlag: 0},\n {qe: 0x0221, nmps: 37, nlps: 34, switchFlag: 0},\n {qe: 0x0141, nmps: 38, nlps: 35, switchFlag: 0},\n {qe: 0x0111, nmps: 39, nlps: 36, switchFlag: 0},\n {qe: 0x0085, nmps: 40, nlps: 37, switchFlag: 0},\n {qe: 0x0049, nmps: 41, nlps: 38, switchFlag: 0},\n {qe: 0x0025, nmps: 42, nlps: 39, switchFlag: 0},\n {qe: 0x0015, nmps: 43, nlps: 40, switchFlag: 0},\n {qe: 0x0009, nmps: 44, nlps: 41, switchFlag: 0},\n {qe: 0x0005, nmps: 45, nlps: 42, switchFlag: 0},\n {qe: 0x0001, nmps: 45, nlps: 43, switchFlag: 0},\n {qe: 0x5601, nmps: 46, nlps: 46, switchFlag: 0}\n ];\n\n // C.3.5 Initialisation of the decoder (INITDEC)\n function ArithmeticDecoder(data, start, end) {\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n\n this.chigh = data[start];\n this.clow = 0;\n\n this.byteIn();\n\n this.chigh = ((this.chigh << 7) & 0xFFFF) | ((this.clow >> 9) & 0x7F);\n this.clow = (this.clow << 7) & 0xFFFF;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n ArithmeticDecoder.prototype = {\n // C.3.4 Compressed data input (BYTEIN)\n byteIn: function ArithmeticDecoder_byteIn() {\n var data = this.data;\n var bp = this.bp;\n if (data[bp] === 0xFF) {\n var b1 = data[bp + 1];\n if (b1 > 0x8F) {\n this.clow += 0xFF00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += (data[bp] << 9);\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? (data[bp] << 8) : 0xFF00;\n this.ct = 8;\n this.bp = bp;\n }\n if (this.clow > 0xFFFF) {\n this.chigh += (this.clow >> 16);\n this.clow &= 0xFFFF;\n }\n },\n // C.3.2 Decoding a decision (DECODE)\n readBit: function ArithmeticDecoder_readBit(contexts, pos) {\n // contexts are packed into 1 byte:\n // highest 7 bits carry cx.index, lowest bit carries cx.mps\n var cx_index = contexts[pos] >> 1, cx_mps = contexts[pos] & 1;\n var qeTableIcx = QeTable[cx_index];\n var qeIcx = qeTableIcx.qe;\n var d;\n var a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n // exchangeLps\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n // exchangeMps\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n // C.3.3 renormD;\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = ((this.chigh << 1) & 0xFFFF) | ((this.clow >> 15) & 1);\n this.clow = (this.clow << 1) & 0xFFFF;\n this.ct--;\n } while ((a & 0x8000) === 0);\n this.a = a;\n\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n };\n\n return ArithmeticDecoder;\n})();\n\n/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals Cmd, ColorSpace, Dict, MozBlobBuilder, Name, PDFJS, Ref, URL,\n Promise */\n\n'use strict';\n\nvar globalScope = (typeof window === 'undefined') ? this : window;\n\nvar isWorker = (typeof window === 'undefined');\n\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\n\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\n\nvar AnnotationType = {\n WIDGET: 1,\n TEXT: 2,\n LINK: 3\n};\n\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\n\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\n\n// The global PDFJS object exposes the API\n// In production, it will be declared outside a global wrapper\n// In development, it will be declared here\nif (!globalScope.PDFJS) {\n globalScope.PDFJS = {};\n}\n\n//globalScope.PDFJS.pdfBug = false;\n\nvar PDFJS = PDFJS || {};\n\nPDFJS.VERBOSITY_LEVELS = {\n errors: 0,\n warnings: 1,\n infos: 5\n};\n\n// All the possible operations for an operator list.\nvar OPS = PDFJS.OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (PDFJS.verbosity >= PDFJS.VERBOSITY_LEVELS.infos) {\n console.log('Info: ' + msg);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (PDFJS.verbosity >= PDFJS.VERBOSITY_LEVELS.warnings) {\n console.log('Warning: ' + msg);\n }\n}\n\n// Fatal errors that should trigger the fallback UI and halt execution by\n// throwing an exception.\nfunction error(msg) {\n // If multiple arguments were passed, pass them all to the log function.\n if (arguments.length > 1) {\n var logArguments = ['Error:'];\n logArguments.push.apply(logArguments, arguments);\n console.log.apply(console, logArguments);\n // Join the arguments into a single string for the lines below.\n msg = [].join.call(arguments, ' ');\n } else {\n console.log('Error: ' + msg);\n }\n console.log(backtrace());\n UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown);\n throw new Error(msg);\n}\n\nfunction backtrace() {\n try {\n throw new Error();\n } catch (e) {\n return e.stack ? e.stack.split('\\n').slice(2).join('\\n') : '';\n }\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n error(msg);\n }\n}\n\nvar UNSUPPORTED_FEATURES = PDFJS.UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\n\nvar UnsupportedManager = PDFJS.UnsupportedManager =\n (function UnsupportedManagerClosure() {\n var listeners = [];\n return {\n listen: function (cb) {\n listeners.push(cb);\n },\n notify: function (featureId) {\n warn('Unsupported feature \"' + featureId + '\"');\n for (var i = 0, ii = listeners.length; i < ii; i++) {\n listeners[i](featureId);\n }\n }\n };\n})();\n\n// Combines two URLs. The baseUrl shall be absolute URL. If the url is an\n// absolute URL, it will be returned as is.\nfunction combineUrl(baseUrl, url) {\n if (!url) {\n return baseUrl;\n }\n if (/^[a-z][a-z0-9+\\-.]*:/i.test(url)) {\n return url;\n }\n var i;\n if (url.charAt(0) === '/') {\n // absolute path\n i = baseUrl.indexOf('://');\n if (url.charAt(1) === '/') {\n ++i;\n } else {\n i = baseUrl.indexOf('/', i + 3);\n }\n return baseUrl.substring(0, i) + url;\n } else {\n // relative path\n var pathLength = baseUrl.length;\n i = baseUrl.lastIndexOf('#');\n pathLength = i >= 0 ? i : pathLength;\n i = baseUrl.lastIndexOf('?', pathLength);\n pathLength = i >= 0 ? i : pathLength;\n var prefixLength = baseUrl.lastIndexOf('/', pathLength);\n return baseUrl.substring(0, prefixLength + 1) + url;\n }\n}\n\n// Validates if URL is safe and allowed, e.g. to avoid XSS.\nfunction isValidUrl(url, allowRelative) {\n if (!url) {\n return false;\n }\n // RFC 3986 (http://tools.ietf.org/html/rfc3986#section-3.1)\n // scheme = ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\n var protocol = /^[a-z][a-z0-9+\\-.]*(?=:)/i.exec(url);\n if (!protocol) {\n return allowRelative;\n }\n protocol = protocol[0].toLowerCase();\n switch (protocol) {\n case 'http':\n case 'https':\n case 'ftp':\n case 'mailto':\n case 'tel':\n return true;\n default:\n return false;\n }\n}\nPDFJS.isValidUrl = isValidUrl;\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, { value: value,\n enumerable: true,\n configurable: true,\n writable: false });\n return value;\n}\nPDFJS.shadow = shadow;\n\nvar PasswordResponses = PDFJS.PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\n\nvar PasswordException = (function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n\n return PasswordException;\n})();\nPDFJS.PasswordException = PasswordException;\n\nvar UnknownErrorException = (function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n\n return UnknownErrorException;\n})();\nPDFJS.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = (function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n\n return InvalidPDFException;\n})();\nPDFJS.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = (function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n\n return MissingPDFException;\n})();\nPDFJS.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException =\n (function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n\n return UnexpectedResponseException;\n})();\nPDFJS.UnexpectedResponseException = UnexpectedResponseException;\n\nvar NotImplementedException = (function NotImplementedExceptionClosure() {\n function NotImplementedException(msg) {\n this.message = msg;\n }\n\n NotImplementedException.prototype = new Error();\n NotImplementedException.prototype.name = 'NotImplementedException';\n NotImplementedException.constructor = NotImplementedException;\n\n return NotImplementedException;\n})();\n\nvar MissingDataException = (function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n\n return MissingDataException;\n})();\n\nvar XRefParseException = (function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n\n return XRefParseException;\n})();\n\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === 'object' &&\n bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n var strBuf = [];\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n return bytes;\n}\n\nfunction string32(value) {\n return String.fromCharCode((value >> 24) & 0xff, (value >> 16) & 0xff,\n (value >> 8) & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n var n = 1, i = 0;\n while (x > n) {\n n <<= 1;\n i++;\n }\n return i;\n}\n\nfunction readInt8(data, start) {\n return (data[start] << 24) >> 24;\n}\n\nfunction readUint16(data, offset) {\n return (data[offset] << 8) | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return ((data[offset] << 24) | (data[offset + 1] << 16) |\n (data[offset + 2] << 8) | data[offset + 3]) >>> 0;\n}\n\n// Lazy test the endianness of the platform\n// NOTE: This will be 'true' for simulated TypedArrays\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(2);\n buffer8[0] = 1;\n var buffer16 = new Uint16Array(buffer8.buffer);\n return (buffer16[0] === 1);\n}\n\nObject.defineProperty(PDFJS, 'isLittleEndian', {\n configurable: true,\n get: function PDFJS_isLittleEndian() {\n return shadow(PDFJS, 'isLittleEndian', isLittleEndian());\n }\n});\n\n//#if !(FIREFOX || MOZCENTRAL || B2G || CHROME)\n//// Lazy test if the userAgant support CanvasTypedArrays\nfunction hasCanvasTypedArrays() {\n var canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var imageData = ctx.createImageData(1, 1);\n return (typeof imageData.data.buffer !== 'undefined');\n}\n\nObject.defineProperty(PDFJS, 'hasCanvasTypedArrays', {\n configurable: true,\n get: function PDFJS_hasCanvasTypedArrays() {\n return shadow(PDFJS, 'hasCanvasTypedArrays', hasCanvasTypedArrays());\n }\n});\n\nvar Uint32ArrayView = (function Uint32ArrayViewClosure() {\n\n function Uint32ArrayView(buffer, length) {\n this.buffer = buffer;\n this.byteLength = buffer.length;\n this.length = length === undefined ? (this.byteLength >> 2) : length;\n ensureUint32ArrayViewProps(this.length);\n }\n Uint32ArrayView.prototype = Object.create(null);\n\n var uint32ArrayViewSetters = 0;\n function createUint32ArrayProp(index) {\n return {\n get: function () {\n var buffer = this.buffer, offset = index << 2;\n return (buffer[offset] | (buffer[offset + 1] << 8) |\n (buffer[offset + 2] << 16) | (buffer[offset + 3] << 24)) >>> 0;\n },\n set: function (value) {\n var buffer = this.buffer, offset = index << 2;\n buffer[offset] = value & 255;\n buffer[offset + 1] = (value >> 8) & 255;\n buffer[offset + 2] = (value >> 16) & 255;\n buffer[offset + 3] = (value >>> 24) & 255;\n }\n };\n }\n\n function ensureUint32ArrayViewProps(length) {\n while (uint32ArrayViewSetters < length) {\n Object.defineProperty(Uint32ArrayView.prototype,\n uint32ArrayViewSetters,\n createUint32ArrayProp(uint32ArrayViewSetters));\n uint32ArrayViewSetters++;\n }\n }\n\n return Uint32ArrayView;\n})();\n//#else\n//PDFJS.hasCanvasTypedArrays = true;\n//#endif\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n\nvar Util = PDFJS.Util = (function UtilClosure() {\n function Util() {}\n\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\n // makeCssRgb() can be called thousands of times. Using |rgbBuf| avoids\n // creating many intermediate strings.\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n\n // Concatenates two transformation matrices together and returns the result.\n Util.transform = function Util_transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5]\n ];\n };\n\n // For 2d affine transforms\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n };\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n Util.getAxialAlignedBoundingBox =\n function Util_getAxialAlignedBoundingBox(r, m) {\n\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1])\n ];\n };\n\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n };\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2]\n ];\n };\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n Util.singularValueDecompose2dScale =\n function Util_singularValueDecompose2dScale(m) {\n\n var transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n };\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if ((orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n\n // Y: first and second points belong to different rectangles?\n if ((orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n\n return result;\n };\n\n Util.sign = function Util_sign(num) {\n return num < 0 ? -1 : 1;\n };\n\n Util.appendToArray = function Util_appendToArray(arr1, arr2) {\n Array.prototype.push.apply(arr1, arr2);\n };\n\n Util.prependToArray = function Util_prependToArray(arr1, arr2) {\n Array.prototype.unshift.apply(arr1, arr2);\n };\n\n Util.extendObj = function extendObj(obj1, obj2) {\n for (var key in obj2) {\n obj1[key] = obj2[key];\n }\n };\n\n Util.getInheritableProperty = function Util_getInheritableProperty(dict,\n name) {\n while (dict && !dict.has(name)) {\n dict = dict.get('Parent');\n }\n if (!dict) {\n return null;\n }\n return dict.get(name);\n };\n\n Util.inherit = function Util_inherit(sub, base, prototype) {\n sub.prototype = Object.create(base.prototype);\n sub.prototype.constructor = sub;\n for (var prop in prototype) {\n sub.prototype[prop] = prototype[prop];\n }\n };\n\n Util.loadScript = function Util_loadScript(src, callback) {\n var script = document.createElement('script');\n var loaded = false;\n script.setAttribute('src', src);\n if (callback) {\n script.onload = function() {\n if (!loaded) {\n callback();\n }\n loaded = true;\n };\n }\n document.getElementsByTagName('head')[0].appendChild(script);\n };\n\n return Util;\n})();\n\n/**\n * PDF page viewport created based on scale, rotation and offset.\n * @class\n * @alias PDFJS.PageViewport\n */\nvar PageViewport = PDFJS.PageViewport = (function PageViewportClosure() {\n /**\n * @constructor\n * @private\n * @param viewBox {Array} xMin, yMin, xMax and yMax coordinates.\n * @param scale {number} scale of the viewport.\n * @param rotation {number} rotations of the viewport in degrees.\n * @param offsetX {number} offset X\n * @param offsetY {number} offset Y\n * @param dontFlip {boolean} if true, axis Y will not be flipped.\n */\n function PageViewport(viewBox, scale, rotation, offsetX, offsetY, dontFlip) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n\n // creating transform to convert pdf coordinate system to the normal\n // canvas like coordinates taking in account scale and rotation\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1; rotateB = 0; rotateC = 0; rotateD = 1;\n break;\n case 90:\n rotateA = 0; rotateB = 1; rotateC = 1; rotateD = 0;\n break;\n case 270:\n rotateA = 0; rotateB = -1; rotateC = -1; rotateD = 0;\n break;\n //case 0:\n default:\n rotateA = 1; rotateB = 0; rotateC = 0; rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC; rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n // creating transform for the following operations:\n // translate(-centerX, -centerY), rotate and flip vertically,\n // scale, and translate(offsetCanvasX, offsetCanvasY)\n this.transform = [\n rotateA * scale,\n rotateB * scale,\n rotateC * scale,\n rotateD * scale,\n offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY,\n offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY\n ];\n\n this.width = width;\n this.height = height;\n this.fontScale = scale;\n }\n PageViewport.prototype = /** @lends PDFJS.PageViewport.prototype */ {\n /**\n * Clones viewport with additional properties.\n * @param args {Object} (optional) If specified, may contain the 'scale' or\n * 'rotation' properties to override the corresponding properties in\n * the cloned viewport.\n * @returns {PDFJS.PageViewport} Cloned viewport.\n */\n clone: function PageViewPort_clone(args) {\n args = args || {};\n var scale = 'scale' in args ? args.scale : this.scale;\n var rotation = 'rotation' in args ? args.rotation : this.rotation;\n return new PageViewport(this.viewBox.slice(), scale, rotation,\n this.offsetX, this.offsetY, args.dontFlip);\n },\n /**\n * Converts PDF point to the viewport coordinates. For examples, useful for\n * converting PDF location into canvas pixel coordinates.\n * @param x {number} X coordinate.\n * @param y {number} Y coordinate.\n * @returns {Object} Object that contains 'x' and 'y' properties of the\n * point in the viewport coordinate space.\n * @see {@link convertToPdfPoint}\n * @see {@link convertToViewportRectangle}\n */\n convertToViewportPoint: function PageViewport_convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n },\n /**\n * Converts PDF rectangle to the viewport coordinates.\n * @param rect {Array} xMin, yMin, xMax and yMax coordinates.\n * @returns {Array} Contains corresponding coordinates of the rectangle\n * in the viewport coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToViewportRectangle:\n function PageViewport_convertToViewportRectangle(rect) {\n var tl = Util.applyTransform([rect[0], rect[1]], this.transform);\n var br = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [tl[0], tl[1], br[0], br[1]];\n },\n /**\n * Converts viewport coordinates to the PDF location. For examples, useful\n * for converting canvas pixel location into PDF one.\n * @param x {number} X coordinate.\n * @param y {number} Y coordinate.\n * @returns {Object} Object that contains 'x' and 'y' properties of the\n * point in the PDF coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToPdfPoint: function PageViewport_convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n };\n return PageViewport;\n})();\n\nvar PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n var i, n = str.length, strBuf = [];\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n // UTF16BE BOM\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(\n (str.charCodeAt(i) << 8) | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isInt(v) {\n return typeof v === 'number' && ((v | 0) === v);\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isNull(v) {\n return v === null;\n}\n\nfunction isName(v) {\n return v instanceof Name;\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n if (!(v instanceof Dict)) {\n return false;\n }\n if (!type) {\n return true;\n }\n var dictType = v.get('Type');\n return isName(dictType) && dictType.name === type;\n}\n\nfunction isArray(v) {\n return v instanceof Array;\n}\n\nfunction isStream(v) {\n return typeof v === 'object' && v !== null && v.getBytes !== undefined;\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isRef(v) {\n return v instanceof Ref;\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A promise object.\n * @property {function} resolve - Fullfills the promise.\n * @property {function} reject - Rejects the promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias PDFJS.createPromiseCapability\n *\n * @return {PromiseCapability} A capability object contains:\n * - a Promise, resolve and reject methods.\n */\nfunction createPromiseCapability() {\n var capability = {};\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = resolve;\n capability.reject = reject;\n });\n return capability;\n}\n\nPDFJS.createPromiseCapability = createPromiseCapability;\n\n/**\n * Polyfill for Promises:\n * The following promise implementation tries to generally implement the\n * Promise/A+ spec. Some notable differences from other promise libaries are:\n * - There currently isn't a seperate deferred and promise object.\n * - Unhandled rejections eventually show an error if they aren't handled.\n *\n * Based off of the work in:\n * https://bugzilla.mozilla.org/show_bug.cgi?id=810490\n */\n(function PromiseClosure() {\n if (globalScope.Promise) {\n // Promises existing in the DOM/Worker, checking presence of all/resolve\n if (typeof globalScope.Promise.all !== 'function') {\n globalScope.Promise.all = function (iterable) {\n var count = 0, results = [], resolve, reject;\n var promise = new globalScope.Promise(function (resolve_, reject_) {\n resolve = resolve_;\n reject = reject_;\n });\n iterable.forEach(function (p, i) {\n count++;\n p.then(function (result) {\n results[i] = result;\n count--;\n if (count === 0) {\n resolve(results);\n }\n }, reject);\n });\n if (count === 0) {\n resolve(results);\n }\n return promise;\n };\n }\n if (typeof globalScope.Promise.resolve !== 'function') {\n globalScope.Promise.resolve = function (value) {\n return new globalScope.Promise(function (resolve) { resolve(value); });\n };\n }\n if (typeof globalScope.Promise.reject !== 'function') {\n globalScope.Promise.reject = function (reason) {\n return new globalScope.Promise(function (resolve, reject) {\n reject(reason);\n });\n };\n }\n if (typeof globalScope.Promise.prototype.catch2 !== 'function') {\n globalScope.Promise.prototype.catch2 = function (onReject) {\n return globalScope.Promise.prototype.then(undefined, onReject);\n };\n }\n return;\n }\n//#if !MOZCENTRAL\n var STATUS_PENDING = 0;\n var STATUS_RESOLVED = 1;\n var STATUS_REJECTED = 2;\n\n // In an attempt to avoid silent exceptions, unhandled rejections are\n // tracked and if they aren't handled in a certain amount of time an\n // error is logged.\n var REJECTION_TIMEOUT = 500;\n\n var HandlerManager = {\n handlers: [],\n running: false,\n unhandledRejections: [],\n pendingRejectionCheck: false,\n\n scheduleHandlers: function scheduleHandlers(promise) {\n if (promise._status === STATUS_PENDING) {\n return;\n }\n\n this.handlers = this.handlers.concat(promise._handlers);\n promise._handlers = [];\n\n if (this.running) {\n return;\n }\n this.running = true;\n\n setTimeout(this.runHandlers.bind(this), 0);\n },\n\n runHandlers: function runHandlers() {\n var RUN_TIMEOUT = 1; // ms\n var timeoutAt = Date.now() + RUN_TIMEOUT;\n while (this.handlers.length > 0) {\n var handler = this.handlers.shift();\n\n var nextStatus = handler.thisPromise._status;\n var nextValue = handler.thisPromise._value;\n\n try {\n if (nextStatus === STATUS_RESOLVED) {\n if (typeof handler.onResolve === 'function') {\n nextValue = handler.onResolve(nextValue);\n }\n } else if (typeof handler.onReject === 'function') {\n nextValue = handler.onReject(nextValue);\n nextStatus = STATUS_RESOLVED;\n\n if (handler.thisPromise._unhandledRejection) {\n this.removeUnhandeledRejection(handler.thisPromise);\n }\n }\n } catch (ex) {\n nextStatus = STATUS_REJECTED;\n nextValue = ex;\n }\n\n handler.nextPromise._updateStatus(nextStatus, nextValue);\n if (Date.now() >= timeoutAt) {\n break;\n }\n }\n\n if (this.handlers.length > 0) {\n setTimeout(this.runHandlers.bind(this), 0);\n return;\n }\n\n this.running = false;\n },\n\n addUnhandledRejection: function addUnhandledRejection(promise) {\n this.unhandledRejections.push({\n promise: promise,\n time: Date.now()\n });\n this.scheduleRejectionCheck();\n },\n\n removeUnhandeledRejection: function removeUnhandeledRejection(promise) {\n promise._unhandledRejection = false;\n for (var i = 0; i < this.unhandledRejections.length; i++) {\n if (this.unhandledRejections[i].promise === promise) {\n this.unhandledRejections.splice(i);\n i--;\n }\n }\n },\n\n scheduleRejectionCheck: function scheduleRejectionCheck() {\n if (this.pendingRejectionCheck) {\n return;\n }\n this.pendingRejectionCheck = true;\n setTimeout(function rejectionCheck() {\n this.pendingRejectionCheck = false;\n var now = Date.now();\n for (var i = 0; i < this.unhandledRejections.length; i++) {\n if (now - this.unhandledRejections[i].time > REJECTION_TIMEOUT) {\n var unhandled = this.unhandledRejections[i].promise._value;\n var msg = 'Unhandled rejection: ' + unhandled;\n if (unhandled.stack) {\n msg += '\\n' + unhandled.stack;\n }\n warn(msg);\n this.unhandledRejections.splice(i);\n i--;\n }\n }\n if (this.unhandledRejections.length) {\n this.scheduleRejectionCheck();\n }\n }.bind(this), REJECTION_TIMEOUT);\n }\n };\n\n function Promise(resolver) {\n this._status = STATUS_PENDING;\n this._handlers = [];\n try {\n resolver.call(this, this._resolve.bind(this), this._reject.bind(this));\n } catch (e) {\n this._reject(e);\n }\n }\n /**\n * Builds a promise that is resolved when all the passed in promises are\n * resolved.\n * @param {array} array of data and/or promises to wait for.\n * @return {Promise} New dependant promise.\n */\n Promise.all = function Promise_all(promises) {\n var resolveAll, rejectAll;\n var deferred = new Promise(function (resolve, reject) {\n resolveAll = resolve;\n rejectAll = reject;\n });\n var unresolved = promises.length;\n var results = [];\n if (unresolved === 0) {\n resolveAll(results);\n return deferred;\n }\n function reject(reason) {\n if (deferred._status === STATUS_REJECTED) {\n return;\n }\n results = [];\n rejectAll(reason);\n }\n for (var i = 0, ii = promises.length; i < ii; ++i) {\n var promise = promises[i];\n var resolve = (function(i) {\n return function(value) {\n if (deferred._status === STATUS_REJECTED) {\n return;\n }\n results[i] = value;\n unresolved--;\n if (unresolved === 0) {\n resolveAll(results);\n }\n };\n })(i);\n if (Promise.isPromise(promise)) {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n return deferred;\n };\n\n /**\n * Checks if the value is likely a promise (has a 'then' function).\n * @return {boolean} true if value is thenable\n */\n Promise.isPromise = function Promise_isPromise(value) {\n return value && typeof value.then === 'function';\n };\n\n /**\n * Creates resolved promise\n * @param value resolve value\n * @returns {Promise}\n */\n Promise.resolve = function Promise_resolve(value) {\n return new Promise(function (resolve) { resolve(value); });\n };\n\n /**\n * Creates rejected promise\n * @param reason rejection value\n * @returns {Promise}\n */\n Promise.reject = function Promise_reject(reason) {\n return new Promise(function (resolve, reject) { reject(reason); });\n };\n\n Promise.prototype = {\n _status: null,\n _value: null,\n _handlers: null,\n _unhandledRejection: null,\n\n _updateStatus: function Promise__updateStatus(status, value) {\n if (this._status === STATUS_RESOLVED ||\n this._status === STATUS_REJECTED) {\n return;\n }\n\n if (status === STATUS_RESOLVED &&\n Promise.isPromise(value)) {\n value.then(this._updateStatus.bind(this, STATUS_RESOLVED),\n this._updateStatus.bind(this, STATUS_REJECTED));\n return;\n }\n\n this._status = status;\n this._value = value;\n\n if (status === STATUS_REJECTED && this._handlers.length === 0) {\n this._unhandledRejection = true;\n HandlerManager.addUnhandledRejection(this);\n }\n\n HandlerManager.scheduleHandlers(this);\n },\n\n _resolve: function Promise_resolve(value) {\n this._updateStatus(STATUS_RESOLVED, value);\n },\n\n _reject: function Promise_reject(reason) {\n this._updateStatus(STATUS_REJECTED, reason);\n },\n\n then: function Promise_then(onResolve, onReject) {\n var nextPromise = new Promise(function (resolve, reject) {\n this.resolve = resolve;\n this.reject = reject;\n });\n this._handlers.push({\n thisPromise: this,\n onResolve: onResolve,\n onReject: onReject,\n nextPromise: nextPromise\n });\n HandlerManager.scheduleHandlers(this);\n return nextPromise;\n },\n\n catch2: function Promise_catch(onReject) {\n return this.then(undefined, onReject);\n }\n };\n\n globalScope.Promise = Promise;\n//#else\n//throw new Error('DOM Promise is not present');\n//#endif\n})();\n\nvar StatTimer = (function StatTimerClosure() {\n function rpad(str, pad, length) {\n while (str.length < length) {\n str += pad;\n }\n return str;\n }\n function StatTimer() {\n this.started = {};\n this.times = [];\n this.enabled = true;\n }\n StatTimer.prototype = {\n time: function StatTimer_time(name) {\n if (!this.enabled) {\n return;\n }\n if (name in this.started) {\n warn('Timer is already running for ' + name);\n }\n this.started[name] = Date.now();\n },\n timeEnd: function StatTimer_timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n if (!(name in this.started)) {\n warn('Timer has not been started for ' + name);\n }\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n // Remove timer from started so it can be called again.\n delete this.started[name];\n },\n toString: function StatTimer_toString() {\n var i, ii;\n var times = this.times;\n var out = '';\n // Find the longest name for padding purposes.\n var longest = 0;\n for (i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (i = 0, ii = times.length; i < ii; ++i) {\n var span = times[i];\n var duration = span.end - span.start;\n out += rpad(span['name'], ' ', longest) + ' ' + duration + 'ms\\n';\n }\n return out;\n }\n };\n return StatTimer;\n})();\n\nPDFJS.createBlob = function createBlob(data, contentType) {\n if (typeof Blob !== 'undefined') {\n return new Blob([data], { type: contentType });\n }\n // Blob builder is deprecated in FF14 and removed in FF18.\n var bb = new MozBlobBuilder();\n bb.append(data);\n return bb.getBlob(contentType);\n};\n\nPDFJS.createObjectURL = (function createObjectURLClosure() {\n // Blob/createObjectURL is not available, falling back to data schema.\n var digits =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n return function createObjectURL(data, contentType) {\n if (!PDFJS.disableCreateObjectURL &&\n typeof URL !== 'undefined' && URL.createObjectURL) {\n var blob = PDFJS.createBlob(data, contentType);\n return URL.createObjectURL(blob);\n }\n\n var buffer = 'data:' + contentType + ';base64,';\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2, d2 = ((b1 & 3) << 4) | (b2 >> 4);\n var d3 = i + 1 < ii ? ((b2 & 0xF) << 2) | (b3 >> 6) : 64;\n var d4 = i + 2 < ii ? (b3 & 0x3F) : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n})();\n\nfunction MessageHandler(name, comObj) {\n this.name = name;\n this.comObj = comObj;\n this.callbackIndex = 1;\n this.postMessageTransfers = true;\n var callbacksCapabilities = this.callbacksCapabilities = {};\n var ah = this.actionHandler = {};\n\n ah['console_log'] = [function ahConsoleLog(data) {\n console.log.apply(console, data);\n }];\n ah['console_error'] = [function ahConsoleError(data) {\n console.error.apply(console, data);\n }];\n ah['_unsupported_feature'] = [function ah_unsupportedFeature(data) {\n UnsupportedManager.notify(data);\n }];\n\n comObj.onmessage = function messageHandlerComObjOnMessage(event) {\n var data = event.data;\n if (data.isReply) {\n var callbackId = data.callbackId;\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n if ('error' in data) {\n callback.reject(data.error);\n } else {\n callback.resolve(data.data);\n }\n } else {\n error('Cannot resolve callback ' + callbackId);\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n if (data.callbackId) {\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n isReply: true,\n callbackId: data.callbackId,\n error: reason\n });\n });\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n error('Unknown action from worker: ' + data.action);\n }\n };\n}\n\nMessageHandler.prototype = {\n on: function messageHandlerOn(actionName, handler, scope) {\n var ah = this.actionHandler;\n if (ah[actionName]) {\n error('There is already an actionName called \"' + actionName + '\"');\n }\n ah[actionName] = [handler, scope];\n },\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * @param {String} actionName Action to call.\n * @param {JSON} data JSON data to send.\n * @param {Array} [transfers] Optional list of transfers/ArrayBuffers\n */\n send: function messageHandlerSend(actionName, data, transfers) {\n var message = {\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * Expects that other side will callback with the response.\n * @param {String} actionName Action to call.\n * @param {JSON} data JSON data to send.\n * @param {Array} [transfers] Optional list of transfers/ArrayBuffers.\n * @returns {Promise} Promise to be resolved with response data.\n */\n sendWithPromise:\n function messageHandlerSendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackIndex++;\n var message = {\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = createPromiseCapability();\n this.callbacksCapabilities[callbackId] = capability;\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n return capability.promise;\n },\n /**\n * Sends raw message to the comObj.\n * @private\n * @param message {Object} Raw message.\n * @param transfers List of transfers/ArrayBuffers, or undefined.\n */\n postMessage: function (message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n};\n\nfunction loadJpegStream(id, imageUrl, objs) {\n var img = new Image();\n img.onload = (function loadJpegStream_onloadClosure() {\n objs.resolve(id, img);\n });\n img.onerror = (function loadJpegStream_onerrorClosure() {\n objs.resolve(id, null);\n warn('Error during JPEG image loading');\n });\n img.src = imageUrl;\n}\n\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = JpxImage;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/lib/jpx.js\n// module id = 15\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.CompressionUtils = daikon.CompressionUtils || {};\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.CompressionUtils.JPEG_MAGIC_NUMBER = [0xFF, 0xD8];\ndaikon.CompressionUtils.JPEG2000_MAGIC_NUMBER = [0xFF, 0x4F, 0xFF, 0x51];\n\n\n/*** Static methods ***/\n\ndaikon.CompressionUtils.isHeaderJPEG = function (data) {\n if (data) {\n if (data.getUint8(0) !== daikon.CompressionUtils.JPEG_MAGIC_NUMBER[0]) {\n return false;\n }\n\n if (data.getUint8(1) !== daikon.CompressionUtils.JPEG_MAGIC_NUMBER[1]) {\n return false;\n }\n\n return true;\n }\n\n return false;\n};\n\n\ndaikon.CompressionUtils.isHeaderJPEG2000 = function (data) {\n var ctr;\n\n if (data) {\n for (ctr = 0; ctr < daikon.CompressionUtils.JPEG2000_MAGIC_NUMBER.length; ctr+=1) {\n if (data.getUint8(ctr) !== daikon.CompressionUtils.JPEG2000_MAGIC_NUMBER[ctr]) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.CompressionUtils;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/compression-utils.js\n// module id = 16\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require */\n\n\"use strict\";\n\n// Based on: http://stackoverflow.com/questions/3549894/javascript-data-structure-for-fast-lookup-and-ordered-looping\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.OrderedMapIterator = daikon.OrderedMapIterator || ((typeof require !== 'undefined') ? require('./iterator.js') : null);\n\n\n/*** Constructor ***/\ndaikon.OrderedMap = daikon.OrderedMap || function () {\n this.map = {};\n this.orderedKeys = [];\n};\n\n\n\ndaikon.OrderedMap.prototype.put = function(key, value) {\n if (key in this.map) { // key already exists, replace value\n this.map[key] = value;\n } else { // insert new key and value\n this.orderedKeys.push(key);\n this.orderedKeys.sort(function(a, b) { return parseFloat(a) - parseFloat(b); });\n this.map[key] = value;\n }\n};\n\n\n\ndaikon.OrderedMap.prototype.remove = function(key) {\n var index = this.orderedKeys.indexOf(key);\n if(index === -1) {\n throw new Error('key does not exist');\n }\n\n this.orderedKeys.splice(index, 1);\n delete this.map[key];\n};\n\n\n\ndaikon.OrderedMap.prototype.get = function(key) {\n if (key in this.map) {\n return this.map[key];\n }\n\n return null;\n};\n\n\n\ndaikon.OrderedMap.prototype.iterator = function() {\n return new daikon.OrderedMapIterator(this);\n};\n\n\n\ndaikon.OrderedMap.prototype.getOrderedValues = function() {\n var orderedValues = [], it = this.iterator();\n\n while (it.hasNext()) {\n orderedValues.push(it.next());\n }\n\n return orderedValues;\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.OrderedMap;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/orderedmap.js\n// module id = 17\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\n\n\n/*** Constructor ***/\n\n/**\n * The RLE constructor.\n * @type {Function}\n */\ndaikon.RLE = daikon.RLE || function () {\n this.rawData = null;\n this.bytesRead = 0;\n this.bytesPut = 0;\n this.segElemPut = 0;\n this.numSegments = 0;\n this.segmentOffsets = [];\n this.littleEndian = true;\n this.segmentIndex = 0;\n this.numElements = 0;\n this.size = 0;\n this.output = null;\n};\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.RLE.HEADER_SIZE = 64;\n\n\n/*** Prototype Methods ***/\n\n/**\n * Decodes the RLE data.\n * @param {ArrayBuffer} data\n * @param {boolean} littleEndian\n * @param {number} numElements\n * @returns {DataView}\n */\ndaikon.RLE.prototype.decode = function (data, littleEndian, numElements) {\n var ctr;\n\n this.rawData = new DataView(data);\n this.littleEndian = littleEndian;\n this.numElements = numElements;\n\n this.readHeader();\n this.output = new DataView(new ArrayBuffer(this.size));\n\n for (ctr = 0; ctr < this.numSegments; ctr+=1) {\n this.readNextSegment();\n }\n\n return this.processData();\n};\n\n\ndaikon.RLE.prototype.processData = function () {\n /*jslint bitwise: true */\n\n var ctr, temp1, temp2, temp3, value, outputProcessed, offset;\n\n if (this.numSegments === 1) {\n return this.output;\n } else if (this.numSegments === 2) {\n outputProcessed = new DataView(new ArrayBuffer(this.size));\n\n for (ctr = 0; ctr < this.numElements; ctr+=1) {\n temp1 = (this.output.getInt8(ctr));\n temp2 = (this.output.getInt8(ctr + this.numElements));\n value = (((temp1 & 0xFF) << 8) | (temp2 & 0xFF));\n outputProcessed.setInt16(ctr * 2, value, this.littleEndian);\n }\n\n return outputProcessed;\n } else if (this.numSegments === 3) { // rgb\n outputProcessed = new DataView(new ArrayBuffer(this.size));\n offset = (2 * this.numElements);\n\n for (ctr = 0; ctr < this.numElements; ctr+=1) {\n outputProcessed.setInt8(ctr * 3, this.output.getInt8(ctr));\n outputProcessed.setInt8(ctr * 3 + 1, this.output.getInt8(ctr + this.numElements));\n outputProcessed.setInt8(ctr * 3 + 2, this.output.getInt8(ctr + offset));\n }\n\n return outputProcessed;\n } else {\n throw new Error(\"RLE data with \" + this.numSegments + \" segments is not supported!\");\n }\n};\n\n\n\ndaikon.RLE.prototype.readHeader = function () {\n var ctr;\n\n this.numSegments = this.getInt32();\n this.size = this.numElements * this.numSegments;\n\n for (ctr = 0; ctr < this.numSegments; ctr+=1) {\n this.segmentOffsets[ctr] = this.getInt32();\n }\n\n this.bytesRead = daikon.RLE.HEADER_SIZE;\n};\n\n\n\ndaikon.RLE.prototype.hasValidInput = function () {\n return ((this.bytesRead < this.rawData.buffer.byteLength) &&\n (this.bytesPut < this.size) && (this.segElemPut < this.numElements));\n};\n\n\n\ndaikon.RLE.prototype.readNextSegment = function () {\n var code;\n\n this.bytesRead = this.segmentOffsets[this.segmentIndex];\n this.segElemPut = 0;\n\n while (this.hasValidInput()) {\n code = this.get();\n\n if ((code >= 0) && (code < 128)) {\n this.readLiteral(code);\n } else if ((code <= -1) && (code > -128)) {\n this.readEncoded(code);\n } else if (code === -128) {\n console.warn(\"RLE: unsupported code!\");\n }\n }\n\n this.segmentIndex+=1;\n};\n\n\n\ndaikon.RLE.prototype.readLiteral = function (code) {\n var ctr, length = (code + 1);\n\n if (this.hasValidInput()) {\n for (ctr = 0; ctr < length; ctr+=1) {\n this.put(this.get());\n }\n } else {\n console.warn(\"RLE: insufficient data!\");\n }\n};\n\n\n\ndaikon.RLE.prototype.readEncoded = function (code) {\n var ctr,\n runLength = (1 - code),\n encoded = this.get();\n\n for (ctr = 0; ctr < runLength; ctr+=1) {\n this.put(encoded);\n }\n};\n\n\n\ndaikon.RLE.prototype.getInt32 = function () {\n var value = this.rawData.getInt32(this.bytesRead, this.littleEndian);\n this.bytesRead += 4;\n return value;\n};\n\n\n\ndaikon.RLE.prototype.getInt16 = function () {\n var value = this.rawData.getInt16(this.bytesRead, this.littleEndian);\n this.bytesRead += 2;\n return value;\n};\n\n\n\ndaikon.RLE.prototype.get = function () {\n var value = this.rawData.getInt8(this.bytesRead);\n this.bytesRead += 1;\n return value;\n};\n\n\n\ndaikon.RLE.prototype.put = function (val) {\n this.output.setInt8(this.bytesPut, val);\n this.bytesPut += 1;\n this.segElemPut += 1;\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.RLE;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/rle.js\n// module id = 18\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.Utils = daikon.Utils || ((typeof require !== 'undefined') ? require('./utilities.js') : null);\n\n\n/*** Constructor ***/\n\n/**\n * The Siemens constructor.\n * @params {ArrayBuffer} buffer\n * @type {Function}\n */\ndaikon.Siemens = daikon.Siemens || function (buffer) {\n this.output = \"\";\n this.data = new DataView(buffer, 0);\n};\n\n\n/*** Static Pseudo-constants ***/\n\ndaikon.Siemens.CSA2_MAGIC_NUMBER = [83, 86, 49, 48];\ndaikon.Siemens.NAME_LENGTH = 64;\ndaikon.Siemens.ELEMENT_CSA1 = 0x1010;\ndaikon.Siemens.ELEMENT_CSA2 = 0x1020;\ndaikon.Siemens.GROUP_CSA = 0x029;\n\n\n/*** Prototype Methods ***/\n\n/**\n * Reads the Siemens header. (See http://nipy.org/nibabel/dicom/siemens_csa.html)\n * @returns {string}\n */\ndaikon.Siemens.prototype.readHeader = function () {\n /*jslint bitwise: true */\n\n var ctr, match;\n\n try {\n if (this.data.byteLength > daikon.Siemens.CSA2_MAGIC_NUMBER.length) {\n match = true;\n\n for (ctr = 0; ctr < daikon.Siemens.CSA2_MAGIC_NUMBER.length; ctr += 1) {\n match &= (this.data.getUint8(ctr) === daikon.Siemens.CSA2_MAGIC_NUMBER[ctr]);\n }\n\n if (match) {\n this.readHeaderAtOffset(daikon.Siemens.CSA2_MAGIC_NUMBER.length + 4);\n } else {\n this.readHeaderAtOffset(0);\n }\n }\n } catch (error) {\n console.log(error);\n }\n\n return this.output;\n};\n\n\n\ndaikon.Siemens.prototype.readHeaderAtOffset = function (offset) {\n var numTags, ctr;\n\n this.output += '\\n';\n\n numTags = daikon.Utils.swap32(this.data.getUint32(offset));\n\n if ((numTags < 1) || (numTags > 128)) {\n return this.output;\n }\n\n offset += 4;\n\n offset += 4; // unused\n\n for (ctr = 0; ctr < numTags; ctr += 1) {\n offset = this.readTag(offset);\n\n if (offset === -1) {\n break;\n }\n }\n\n return this.output;\n};\n\n\n\ndaikon.Siemens.prototype.readTag = function (offset) {\n var name, ctr, numItems;\n\n name = this.readString(offset, daikon.Siemens.NAME_LENGTH);\n\n offset += daikon.Siemens.NAME_LENGTH;\n\n offset += 4; // vm\n\n offset += 4;\n\n offset += 4; // syngodt\n\n numItems = daikon.Utils.swap32(this.data.getUint32(offset));\n offset += 4;\n\n offset += 4; // unused\n\n this.output += (\" \" + name + \"=\");\n\n for (ctr = 0; ctr < numItems; ctr += 1) {\n offset = this.readItem(offset);\n\n if (offset === -1) {\n break;\n } else if ((offset % 4) !== 0) {\n offset += (4 - (offset % 4));\n }\n }\n\n this.output += ('\\n');\n\n return offset;\n};\n\n\n\ndaikon.Siemens.prototype.readString = function (offset, length) {\n var char2, ctr, str = \"\";\n\n for (ctr = 0; ctr < length; ctr += 1) {\n char2 = this.data.getUint8(offset + ctr);\n\n if (char2 === 0) {\n break;\n }\n\n str += String.fromCharCode(char2);\n }\n\n return str;\n};\n\n\n\ndaikon.Siemens.prototype.readItem = function (offset) {\n var itemLength;\n\n itemLength = daikon.Utils.swap32(this.data.getUint32(offset));\n\n if ((offset + itemLength) > this.data.buffer.length) {\n return -1;\n }\n\n offset += 16;\n\n if (itemLength > 0) {\n this.output += (this.readString(offset, itemLength) + \" \");\n }\n\n return offset + itemLength;\n};\n\n\n/**\n * Returns true if the specified group and element indicate this tag can be read.\n * @param {number} group\n * @param {number} element\n * @returns {boolean}\n */\ndaikon.Siemens.prototype.canRead = function (group, element) {\n return (group === daikon.Siemens.GROUP_CSA) && ((element === daikon.Siemens.ELEMENT_CSA1) || (element === daikon.Siemens.ELEMENT_CSA2));\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.Siemens;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/siemens.js\n// module id = 19\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\n\n\n/*** Constructor ***/\njpeg.lossless.ComponentSpec = jpeg.lossless.ComponentSpec || function () {\n this.hSamp = 0; // Horizontal sampling factor\n this.quantTableSel = 0; // Quantization table destination selector\n this.vSamp = 0; // Vertical\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.ComponentSpec;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/component-spec.js\n// module id = 20\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\njpeg.lossless.ComponentSpec = jpeg.lossless.ComponentSpec || ((typeof require !== 'undefined') ? require('./component-spec.js') : null);\njpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\n\n\n/*** Constructor ***/\njpeg.lossless.FrameHeader = jpeg.lossless.FrameHeader || function () {\n this.components = []; // Components\n this.dimX = 0; // Number of samples per line\n this.dimY = 0; // Number of lines\n this.numComp = 0; // Number of component in the frame\n this.precision = 0; // Sample Precision (from the original image)\n};\n\n\n\n/*** Prototype Methods ***/\n\njpeg.lossless.FrameHeader.prototype.read = function (data) {\n /*jslint bitwise: true */\n\n var count = 0, length, i, c, temp;\n\n length = data.get16();\n count += 2;\n\n this.precision = data.get8();\n count+=1;\n\n this.dimY = data.get16();\n count += 2;\n\n this.dimX = data.get16();\n count += 2;\n\n this.numComp = data.get8();\n count+=1;\n for (i = 1; i <= this.numComp; i+=1) {\n if (count > length) {\n throw new Error(\"ERROR: frame format error\");\n }\n\n c = data.get8();\n count+=1;\n\n if (count >= length) {\n throw new Error(\"ERROR: frame format error [c>=Lf]\");\n }\n\n temp = data.get8();\n count+=1;\n\n if (!this.components[c]) {\n this.components[c] = new jpeg.lossless.ComponentSpec();\n }\n\n this.components[c].hSamp = temp >> 4;\n this.components[c].vSamp = temp & 0x0F;\n this.components[c].quantTableSel = data.get8();\n count+=1;\n }\n\n if (count !== length) {\n throw new Error(\"ERROR: frame format error [Lf!=count]\");\n }\n\n return 1;\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.FrameHeader;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/frame-header.js\n// module id = 21\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\njpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\njpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null);\n\n\n/*** Constructor ***/\njpeg.lossless.HuffmanTable = jpeg.lossless.HuffmanTable || function () {\n this.l = jpeg.lossless.Utils.createArray(4, 2, 16);\n this.th = [];\n this.v = jpeg.lossless.Utils.createArray(4, 2, 16, 200);\n this.tc = jpeg.lossless.Utils.createArray(4, 2);\n\n this.tc[0][0] = 0;\n this.tc[1][0] = 0;\n this.tc[2][0] = 0;\n this.tc[3][0] = 0;\n this.tc[0][1] = 0;\n this.tc[1][1] = 0;\n this.tc[2][1] = 0;\n this.tc[3][1] = 0;\n this.th[0] = 0;\n this.th[1] = 0;\n this.th[2] = 0;\n this.th[3] = 0;\n};\n\n\n\n/*** Static Pseudo-constants ***/\n\njpeg.lossless.HuffmanTable.MSB = 0x80000000;\n\n\n/*** Prototype Methods ***/\n\njpeg.lossless.HuffmanTable.prototype.read = function(data, HuffTab) {\n /*jslint bitwise: true */\n\n var count = 0, length, temp, t, c, i, j;\n\n length = data.get16();\n count += 2;\n\n while (count < length) {\n temp = data.get8();\n count+=1;\n t = temp & 0x0F;\n if (t > 3) {\n throw new Error(\"ERROR: Huffman table ID > 3\");\n }\n\n c = temp >> 4;\n if (c > 2) {\n throw new Error(\"ERROR: Huffman table [Table class > 2 ]\");\n }\n\n this.th[t] = 1;\n this.tc[t][c] = 1;\n\n for (i = 0; i < 16; i+=1) {\n this.l[t][c][i] = data.get8();\n count+=1;\n }\n\n for (i = 0; i < 16; i+=1) {\n for (j = 0; j < this.l[t][c][i]; j+=1) {\n if (count > length) {\n throw new Error(\"ERROR: Huffman table format error [count>Lh]\");\n }\n\n this.v[t][c][i][j] = data.get8();\n count+=1;\n }\n }\n }\n\n if (count !== length) {\n throw new Error(\"ERROR: Huffman table format error [count!=Lf]\");\n }\n\n for (i = 0; i < 4; i+=1) {\n for (j = 0; j < 2; j+=1) {\n if (this.tc[i][j] !== 0) {\n this.buildHuffTable(HuffTab[i][j], this.l[i][j], this.v[i][j]);\n }\n }\n }\n\n return 1;\n};\n\n\n\n//\tBuild_HuffTab()\n//\tParameter: t table ID\n//\t c table class ( 0 for DC, 1 for AC )\n//\t L[i] # of codewords which length is i\n//\t V[i][j] Huffman Value (length=i)\n//\tEffect:\n//\t build up HuffTab[t][c] using L and V.\njpeg.lossless.HuffmanTable.prototype.buildHuffTable = function(tab, L, V) {\n /*jslint bitwise: true */\n\n var currentTable, temp, k, i, j, n;\n temp = 256;\n k = 0;\n\n for (i = 0; i < 8; i+=1) { // i+1 is Code length\n for (j = 0; j < L[i]; j+=1) {\n for (n = 0; n < (temp >> (i + 1)); n+=1) {\n tab[k] = V[i][j] | ((i + 1) << 8);\n k+=1;\n }\n }\n }\n\n for (i = 1; k < 256; i+=1, k+=1) {\n tab[k] = i | jpeg.lossless.HuffmanTable.MSB;\n }\n\n currentTable = 1;\n k = 0;\n\n for (i = 8; i < 16; i+=1) { // i+1 is Code length\n for (j = 0; j < L[i]; j+=1) {\n for (n = 0; n < (temp >> (i - 7)); n+=1) {\n tab[(currentTable * 256) + k] = V[i][j] | ((i + 1) << 8);\n k+=1;\n }\n\n if (k >= 256) {\n if (k > 256) {\n throw new Error(\"ERROR: Huffman table error(1)!\");\n }\n\n k = 0;\n currentTable+=1;\n }\n }\n }\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.HuffmanTable;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/huffman-table.js\n// module id = 22\n// module chunks = 0","/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ****/\n\n/**\n * jpeg\n * @type {*|{}}\n */\nvar jpeg = jpeg || {};\n\n/**\n * jpeg.lossless\n * @type {*|{}}\n */\njpeg.lossless = jpeg.lossless || {};\n\n\njpeg.lossless.ComponentSpec = jpeg.lossless.ComponentSpec || ((typeof require !== 'undefined') ? require('./component-spec.js') : null);\njpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\njpeg.lossless.Decoder = jpeg.lossless.Decoder || ((typeof require !== 'undefined') ? require('./decoder.js') : null);\njpeg.lossless.FrameHeader = jpeg.lossless.FrameHeader || ((typeof require !== 'undefined') ? require('./frame-header.js') : null);\njpeg.lossless.HuffmanTable = jpeg.lossless.HuffmanTable || ((typeof require !== 'undefined') ? require('./huffman-table.js') : null);\njpeg.lossless.QuantizationTable = jpeg.lossless.QuantizationTable || ((typeof require !== 'undefined') ? require('./quantization-table.js') : null);\njpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || ((typeof require !== 'undefined') ? require('./scan-component.js') : null);\njpeg.lossless.ScanHeader = jpeg.lossless.ScanHeader || ((typeof require !== 'undefined') ? require('./scan-header.js') : null);\njpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null);\n\n\n/*** Exports ***/\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/main.js\n// module id = 23\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\njpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\njpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null);\n\n\n/*** Constructor ***/\njpeg.lossless.QuantizationTable = jpeg.lossless.QuantizationTable || function () {\n this.precision = []; // Quantization precision 8 or 16\n this.tq = []; // 1: this table is presented\n this.quantTables = jpeg.lossless.Utils.createArray(4, 64); // Tables\n\n this.tq[0] = 0;\n this.tq[1] = 0;\n this.tq[2] = 0;\n this.tq[3] = 0;\n};\n\n\n\n/*** Static Methods ***/\n\njpeg.lossless.QuantizationTable.enhanceQuantizationTable = function(qtab, table) {\n /*jslint bitwise: true */\n\n var i;\n\n for (i = 0; i < 8; i+=1) {\n qtab[table[(0 * 8) + i]] *= 90;\n qtab[table[(4 * 8) + i]] *= 90;\n qtab[table[(2 * 8) + i]] *= 118;\n qtab[table[(6 * 8) + i]] *= 49;\n qtab[table[(5 * 8) + i]] *= 71;\n qtab[table[(1 * 8) + i]] *= 126;\n qtab[table[(7 * 8) + i]] *= 25;\n qtab[table[(3 * 8) + i]] *= 106;\n }\n\n for (i = 0; i < 8; i+=1) {\n qtab[table[0 + (8 * i)]] *= 90;\n qtab[table[4 + (8 * i)]] *= 90;\n qtab[table[2 + (8 * i)]] *= 118;\n qtab[table[6 + (8 * i)]] *= 49;\n qtab[table[5 + (8 * i)]] *= 71;\n qtab[table[1 + (8 * i)]] *= 126;\n qtab[table[7 + (8 * i)]] *= 25;\n qtab[table[3 + (8 * i)]] *= 106;\n }\n\n for (i = 0; i < 64; i+=1) {\n qtab[i] >>= 6;\n }\n};\n\n\n/*** Prototype Methods ***/\n\njpeg.lossless.QuantizationTable.prototype.read = function (data, table) {\n /*jslint bitwise: true */\n\n var count = 0, length, temp, t, i;\n\n length = data.get16();\n count += 2;\n\n while (count < length) {\n temp = data.get8();\n count+=1;\n t = temp & 0x0F;\n\n if (t > 3) {\n throw new Error(\"ERROR: Quantization table ID > 3\");\n }\n\n this.precision[t] = temp >> 4;\n\n if (this.precision[t] === 0) {\n this.precision[t] = 8;\n } else if (this.precision[t] === 1) {\n this.precision[t] = 16;\n } else {\n throw new Error(\"ERROR: Quantization table precision error\");\n }\n\n this.tq[t] = 1;\n\n if (this.precision[t] === 8) {\n for (i = 0; i < 64; i+=1) {\n if (count > length) {\n throw new Error(\"ERROR: Quantization table format error\");\n }\n\n this.quantTables[t][i] = data.get8();\n count+=1;\n }\n\n jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table);\n } else {\n for (i = 0; i < 64; i+=1) {\n if (count > length) {\n throw new Error(\"ERROR: Quantization table format error\");\n }\n\n this.quantTables[t][i] = data.get16();\n count += 2;\n }\n\n jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table);\n }\n }\n\n if (count !== length) {\n throw new Error(\"ERROR: Quantization table error [count!=Lq]\");\n }\n\n return 1;\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.QuantizationTable;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/quantization-table.js\n// module id = 24\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\n\n\n/*** Constructor ***/\njpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || function () {\n this.acTabSel = 0; // AC table selector\n this.dcTabSel = 0; // DC table selector\n this.scanCompSel = 0; // Scan component selector\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.ScanComponent;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/scan-component.js\n// module id = 25\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\njpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\njpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || ((typeof require !== 'undefined') ? require('./scan-component.js') : null);\n\n\n/*** Constructor ***/\njpeg.lossless.ScanHeader = jpeg.lossless.ScanHeader || function () {\n this.ah = 0;\n this.al = 0;\n this.numComp = 0; // Number of components in the scan\n this.selection = 0; // Start of spectral or predictor selection\n this.spectralEnd = 0; // End of spectral selection\n this.components = [];\n};\n\n\n/*** Prototype Methods ***/\n\njpeg.lossless.ScanHeader.prototype.read = function(data) {\n /*jslint bitwise: true */\n\n var count = 0, length, i, temp;\n\n length = data.get16();\n count += 2;\n\n this.numComp = data.get8();\n count+=1;\n\n for (i = 0; i < this.numComp; i+=1) {\n this.components[i] = new jpeg.lossless.ScanComponent();\n\n if (count > length) {\n throw new Error(\"ERROR: scan header format error\");\n }\n\n this.components[i].scanCompSel = data.get8();\n count+=1;\n\n temp = data.get8();\n count+=1;\n\n this.components[i].dcTabSel = (temp >> 4);\n this.components[i].acTabSel = (temp & 0x0F);\n }\n\n this.selection = data.get8();\n count+=1;\n\n this.spectralEnd = data.get8();\n count+=1;\n\n temp = data.get8();\n this.ah = (temp >> 4);\n this.al = (temp & 0x0F);\n count+=1;\n\n if (count !== length) {\n throw new Error(\"ERROR: scan header format error [count!=Ns]\");\n }\n\n return 1;\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.ScanHeader;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/scan-header.js\n// module id = 26\n// module chunks = 0","// Top level file is just a mixin of submodules & constants\n'use strict';\n\nvar assign = require('./lib/utils/common').assign;\n\nvar deflate = require('./lib/deflate');\nvar inflate = require('./lib/inflate');\nvar constants = require('./lib/zlib/constants');\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/index.js\n// module id = 27\n// module chunks = 0","// String encode/decode helpers\n'use strict';\n\n\nvar utils = require('./common');\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nvar STR_APPLY_OK = true;\nvar STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new utils.Buf8(256);\nfor (var q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for (var i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function (buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function (str) {\n var buf = new utils.Buf8(str.length);\n for (var i = 0, len = buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function (buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/utils/strings.js\n// module id = 28\n// module chunks = 0","'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/adler32.js\n// module id = 29\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/constants.js\n// module id = 30\n// module chunks = 0","'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/crc32.js\n// module id = 31\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/zstream.js\n// module id = 32\n// module chunks = 0","// import _ from 'underscore';\nimport daikon from 'daikon';\n\nimport FileModel from '@girder/core/models/FileModel';\nimport { restRequest } from '@girder/core/rest';\nimport { wrap } from '@girder/core/utilities/PluginUtils';\n\nimport DicomItemView from '@girder/dicom-viewer/views/DicomView';\n\nconst DicomFileModel = FileModel.extend({\n getSlice: function () {\n if (!this._slice) {\n // Cache the slice on the model\n this._slice = restRequest({\n url: this.get('archivePath') ? `file/${this.get('archiveId')}/archive/download` : `file/${this.id}/download`,\n data: this.get('archivePath') ? { path: this.get('archivePath') } : {},\n xhrFields: {\n responseType: 'arraybuffer'\n }\n })\n .then((resp) => {\n const dataView = new DataView(resp);\n return daikon.Series.parseImage(dataView);\n });\n }\n return this._slice;\n }\n});\n\nwrap(DicomItemView, 'initialize', function (initialize, settings) {\n const result = initialize.call(this, settings);\n if (settings.item.get('dicom').files[0].archivePath) {\n var files = settings.item.get('dicom').files;\n files.forEach(function (file, idx) {\n file.archiveId = file._id;\n file._id = idx;\n });\n const WrappedFileCollection = this._files.constructor.extend({\n model: DicomFileModel\n });\n this._files = new WrappedFileCollection(files);\n this.listenTo(this._files, 'g:selected', this._onSelectionChanged);\n }\n return result;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/girder_archive_access/main.js","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ****/\n\n/**\n * daikon\n * @type {*|{}}\n */\nvar daikon = daikon || {};\n\ndaikon.CompressionUtils = daikon.CompressionUtils || ((typeof require !== 'undefined') ? require('./compression-utils.js') : null);\ndaikon.Dictionary = daikon.Dictionary || ((typeof require !== 'undefined') ? require('./dictionary.js') : null);\ndaikon.Image = daikon.Image || ((typeof require !== 'undefined') ? require('./image.js') : null);\ndaikon.OrderedMapIterator = daikon.OrderedMapIterator || ((typeof require !== 'undefined') ? require('./iterator.js') : null);\ndaikon.OrderedMap = daikon.OrderedMap || ((typeof require !== 'undefined') ? require('./orderedmap.js') : null);\ndaikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\ndaikon.RLE = daikon.RLE || ((typeof require !== 'undefined') ? require('./rle.js') : null);\ndaikon.Series = daikon.Series || ((typeof require !== 'undefined') ? require('./series.js') : null);\ndaikon.Tag = daikon.Tag || ((typeof require !== 'undefined') ? require('./tag.js') : null);\ndaikon.Utils = daikon.Utils || ((typeof require !== 'undefined') ? require('./utilities.js') : null);\ndaikon.Siemens = daikon.Siemens || ((typeof require !== 'undefined') ? require('./siemens.js') : null);\n\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\njpeg.lossless.Decoder = ((typeof require !== 'undefined') ? require('jpeg-lossless-decoder-js') : null);\n\nvar JpegDecoder = JpegDecoder || ((typeof require !== 'undefined') ? require('../lib/jpeg-baseline.js').JpegImage : null);\n\nvar JpxImage = JpxImage || ((typeof require !== 'undefined') ? require('../lib/jpx.js') : null);\n\nvar CharLS = CharLS || ((typeof require !== 'undefined') ? require('../lib/charLS-DynamicMemory-browser.js') : null);\nvar JpegLSDecoder = JpegLSDecoder || ((typeof require !== 'undefined') ? require('../lib/jpeg-ls.js') : null);\n\nvar pako = pako || ((typeof require !== 'undefined') ? require('pako') : null);\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/main.js\n// module id = 34\n// module chunks = 0","\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar daikon = daikon || {};\ndaikon.Parser = daikon.Parser || ((typeof require !== 'undefined') ? require('./parser.js') : null);\ndaikon.Image = daikon.Image || ((typeof require !== 'undefined') ? require('./image.js') : null);\ndaikon.OrderedMap = daikon.OrderedMap || ((typeof require !== 'undefined') ? require('./orderedmap.js') : null);\ndaikon.OrderedMapIterator = daikon.OrderedMapIterator || ((typeof require !== 'undefined') ? require('./iterator.js') : null);\ndaikon.Utils = daikon.Utils || ((typeof require !== 'undefined') ? require('./utilities.js') : null);\n\n\n/*** Constructor ***/\n\n/**\n * The Series constructor.\n * @property {daikon.Image[]} images\n * @type {Function}\n */\ndaikon.Series = daikon.Series || function () {\n this.images = [];\n this.imagesOriginalOrder = null;\n this.isMosaic = false;\n this.isElscint = false;\n this.isCompressed = false;\n this.numberOfFrames = 0;\n this.numberOfFramesInFile = 0;\n this.isMultiFrame = false;\n this.isMultiFrameVolume = false;\n this.isMultiFrameTimeseries = false;\n this.isImplicitTimeseries = false;\n this.sliceSense = false;\n this.sliceDir = daikon.Image.SLICE_DIRECTION_UNKNOWN;\n this.error = null;\n};\n\n\n/*** Static fields ***/\ndaikon.Series.parserError = null;\n\n/**\n * True to keep original order of images, ignoring metadata-based ordering.\n * @type {boolean}\n */\ndaikon.Series.useExplicitOrdering = false;\n\n/**\n * A hint to software to use this explicit distance (mm) between slices (see daikon.Series.useExplicitOrdering)\n * @type {number}\n */\ndaikon.Series.useExplicitSpacing = 0;\n\n\n/*** Static Methods ***/\n\n/**\n * Parses the DICOM header and return an image object.\n * @param {DataView} data\n * @returns {daikon.Image|null}\n */\ndaikon.Series.parseImage = function (data) {\n var parser, image;\n\n parser = new daikon.Parser();\n image = parser.parse(data);\n\n if (parser.hasError()) {\n daikon.Series.parserError = parser.error;\n return null;\n }\n\n if (parser.inflated) {\n image.inflated = parser.inflated;\n }\n\n return image;\n};\n\n\n\ndaikon.Series.getMosaicOffset = function (mosaicCols, mosaicColWidth, mosaicRowHeight, mosaicWidth, xLocVal,\n yLocVal, zLocVal) {\n var xLoc, yLoc, zLoc;\n\n xLoc = xLocVal;\n yLoc = yLocVal;\n zLoc = zLocVal;\n\n xLoc = ((zLoc % mosaicCols) * mosaicColWidth) + xLoc;\n yLoc = (((parseInt(zLoc / mosaicCols)) * mosaicRowHeight) + yLoc) * mosaicWidth;\n\n return (xLoc + yLoc);\n};\n\n\n\ndaikon.Series.orderDicoms = function (images, numFrames, sliceDir) {\n var hasImagePosition, hasSliceLocation, hasImageNumber, timeMap, timeIt, ctr, ctrIn, dg, ordered,\n imagesOrderedByTimeAndSpace;\n\n hasImagePosition = (images[0].getImagePosition() !== null);\n hasSliceLocation = (images[0].getSliceLocation() !== null);\n hasImageNumber = (images[0].getImageNumber() !== null);\n\n timeMap = daikon.Series.orderByTime(images, numFrames, sliceDir, hasImagePosition, hasSliceLocation);\n timeIt = timeMap.orderedKeys;\n\n imagesOrderedByTimeAndSpace = [];\n\n for (ctr = 0; ctr < timeIt.length; ctr += 1) {\n dg = timeMap.get(timeIt[ctr]);\n\n if (hasImagePosition) {\n ordered = daikon.Series.orderByImagePosition(dg, sliceDir);\n } else if (hasSliceLocation) {\n ordered = daikon.Series.orderBySliceLocation(dg);\n } else if (hasImageNumber) {\n ordered = daikon.Series.orderByImageNumber(dg);\n } else {\n ordered = dg;\n }\n\n for (ctrIn = 0; ctrIn < ordered.length; ctrIn += 1) {\n imagesOrderedByTimeAndSpace.push(ordered[ctrIn]);\n }\n }\n\n for (ctrIn = 0; ctrIn < imagesOrderedByTimeAndSpace.length; ctrIn += 1) {\n imagesOrderedByTimeAndSpace[ctrIn].index = ctrIn;\n }\n\n return imagesOrderedByTimeAndSpace;\n};\n\n\n\ndaikon.Series.orderByImagePosition = function (images, sliceDir) {\n var dicomMap, ctr;\n dicomMap = new daikon.OrderedMap();\n\n for (ctr = 0; ctr < images.length; ctr += 1) {\n dicomMap.put(images[ctr].getImagePositionSliceDir(sliceDir), images[ctr]);\n }\n\n return dicomMap.getOrderedValues();\n};\n\n\n\ndaikon.Series.orderBySliceLocation = function (images) {\n var dicomMap, ctr;\n dicomMap = new daikon.OrderedMap();\n\n for (ctr = 0; ctr < images.length; ctr += 1) {\n dicomMap.put(images[ctr].getSliceLocation(), images[ctr]);\n }\n\n return dicomMap.getOrderedValues();\n};\n\n\n\ndaikon.Series.orderByImageNumber = function (images) {\n var dicomMap, ctr;\n dicomMap = new daikon.OrderedMap();\n\n for (ctr = 0; ctr < images.length; ctr += 1) {\n dicomMap.put(images[ctr].getImageNumber(), images[ctr]);\n }\n\n return dicomMap.getOrderedValues();\n};\n\n\n\ndaikon.Series.hasMatchingSlice = function (dg, image, sliceDir, doImagePos, doSliceLoc) {\n var matchingNum = 0, ctr, current, imagePos, sliceLoc, imageNum;\n\n if (doImagePos) {\n matchingNum = image.getImagePositionSliceDir(sliceDir);\n } else if (doSliceLoc) {\n matchingNum = image.getSliceLocation();\n } else {\n matchingNum = image.getImageNumber();\n }\n\n for (ctr = 0; ctr < dg.length; ctr += 1) {\n current = dg[ctr];\n\n if (doImagePos) {\n imagePos = current.getImagePositionSliceDir(sliceDir);\n if (imagePos === matchingNum) {\n return true;\n }\n } else if (doSliceLoc) {\n sliceLoc = current.getSliceLocation();\n if (sliceLoc === matchingNum) {\n return true;\n }\n } else {\n imageNum = current.getImageNumber();\n if (imageNum === matchingNum) {\n return true;\n }\n }\n }\n\n return false;\n};\n\n\n\ndaikon.Series.orderByTime = function (images, numFrames, sliceDir, hasImagePosition, hasSliceLocation) {\n var dicomMap, hasTemporalPosition, hasTemporalNumber, ctr, image, tempPos, dg, timeBySliceMap, imageNum,\n sliceMarker, slice, dicomsCopy, dicomsCopyIndex, sliceIt, timeIt, dgFound, it;\n\n dicomMap = new daikon.OrderedMap();\n hasTemporalPosition = (numFrames > 1) && (images[0].getTemporalPosition() !== null);\n hasTemporalNumber = (numFrames > 1) && (images[0].getTemporalNumber() !== null) && (images[0].getTemporalNumber() === numFrames);\n\n if (hasTemporalPosition && hasTemporalNumber) { // explicit series\n for (ctr = 0; ctr < images.length; ctr += 1) {\n image = images[ctr];\n\n tempPos = image.getTemporalPosition();\n dg = dicomMap.get(tempPos);\n if (!dg) {\n dg = [];\n dicomMap.put(tempPos, dg);\n }\n\n dg.push(image);\n }\n } else { // implicit series\n // order data by slice then time\n timeBySliceMap = new daikon.OrderedMap();\n for (ctr = 0; ctr < images.length; ctr += 1) {\n if (images[ctr] !== null) {\n imageNum = images[ctr].getImageNumber();\n sliceMarker = ctr;\n if (hasImagePosition) {\n sliceMarker = images[ctr].getImagePositionSliceDir(sliceDir);\n } else if (hasSliceLocation) {\n sliceMarker = images[ctr].getSliceLocation();\n }\n\n slice = timeBySliceMap.get(sliceMarker);\n if (slice === null) {\n slice = new daikon.OrderedMap();\n timeBySliceMap.put(sliceMarker, slice);\n }\n\n slice.put(ctr, images[ctr]);\n }\n }\n\n // copy into DICOM array (ordered by slice by time)\n dicomsCopy = [];\n dicomsCopyIndex = 0;\n sliceIt = timeBySliceMap.iterator();\n while (sliceIt.hasNext()) {\n slice = sliceIt.next();\n timeIt = slice.iterator();\n while (timeIt.hasNext()) {\n dicomsCopy[dicomsCopyIndex] = timeIt.next();\n dicomsCopyIndex += 1;\n }\n }\n\n // groups dicoms by timepoint\n for (ctr = 0; ctr < dicomsCopy.length; ctr += 1) {\n if (dicomsCopy[ctr] !== null) {\n dgFound = null;\n it = dicomMap.iterator();\n while (it.hasNext()) {\n dg = it.next();\n if (!daikon.Series.hasMatchingSlice(dg, dicomsCopy[ctr], sliceDir, hasImagePosition, hasSliceLocation)) {\n dgFound = dg;\n break;\n }\n }\n\n if (dgFound === null) {\n dgFound = [];\n dicomMap.put(dicomMap.orderedKeys.length, dgFound);\n }\n\n dgFound.push(dicomsCopy[ctr]);\n }\n }\n }\n\n return dicomMap;\n};\n\n\n/*** Prototype Methods ***/\n\ndaikon.Series.prototype.getOrder = function () {\n var ctr, order = [];\n\n for (ctr = 0; ctr < this.imagesOriginalOrder.length; ctr += 1) {\n order[ctr] = this.imagesOriginalOrder[ctr].index;\n }\n\n return order;\n};\n\n\n/**\n * Returns the series ID.\n * @returns {string}\n */\ndaikon.Series.prototype.toString = function () {\n return this.images[0].getSeriesId();\n};\n\n\n/**\n * Returns a nice name for the series.\n * @returns {string|null}\n */\ndaikon.Series.prototype.getName = function () {\n var des = this.images[0].getSeriesDescription();\n var uid = this.images[0].getSeriesInstanceUID();\n\n if (des !== null) {\n return des;\n }\n\n if (uid !== null) {\n return uid;\n }\n\n return null;\n};\n\n\n/**\n * Adds an image to the series.\n * @param {daikon.Image} image\n */\ndaikon.Series.prototype.addImage = function (image) {\n this.images.push(image);\n};\n\n\n/**\n * Returns true if the specified image is part of the series (or if no images are yet part of the series).\n * @param {daikon.Image} image\n * @returns {boolean}\n */\ndaikon.Series.prototype.matchesSeries = function (image) {\n if (this.images.length === 0) {\n return true;\n }\n\n return (this.images[0].getSeriesId() === image.getSeriesId());\n};\n\n\n/**\n * Orders and organizes the images in this series.\n */\ndaikon.Series.prototype.buildSeries = function () {\n var hasFrameTime, ctr, sliceLoc, orderedImages, sliceLocationFirst, sliceLocationLast, sliceLocDiff,\n sliceLocations, orientation, imagePos;\n\n this.isMosaic = this.images[0].isMosaic();\n this.isElscint = this.images[0].isElscint();\n this.isCompressed = this.images[0].isCompressed();\n\n // check for multi-frame\n this.numberOfFrames = this.images[0].getNumberOfFrames();\n this.numberOfFramesInFile = this.images[0].getNumberOfImplicitFrames();\n this.isMultiFrame = (this.numberOfFrames > 1) || (this.isMosaic && (this.images[0].length > 1));\n this.isMultiFrameVolume = false;\n this.isMultiFrameTimeseries = false;\n this.isImplicitTimeseries = false;\n\n if (this.isMultiFrame) {\n hasFrameTime = (this.images[0].getFrameTime() > 0);\n if (this.isMosaic) {\n this.isMultiFrameTimeseries = true;\n } else {\n if (hasFrameTime) {\n this.isMultiFrameTimeseries = true;\n } else if (this.numberOfFramesInFile > 1) {\n this.isMultiFrameTimeseries = true;\n this.numberOfFrames = this.images.length;\n } else {\n this.isMultiFrameVolume = true;\n }\n }\n }\n\n if (!this.isMosaic && (this.numberOfFrames <= 1)) { // check for implicit frame count\n imagePos = (this.images[0].getImagePosition() || []);\n sliceLoc = imagePos.toString();\n this.numberOfFrames = 0;\n\n for (ctr = 0; ctr < this.images.length; ctr += 1) {\n imagePos = (this.images[ctr].getImagePosition() || []);\n\n if (imagePos.toString() === sliceLoc) {\n this.numberOfFrames += 1;\n }\n }\n\n if (this.numberOfFrames > 1) {\n this.isImplicitTimeseries = true;\n }\n }\n\n this.sliceDir = this.images[0].getAcquiredSliceDirection();\n\n if (daikon.Series.useExplicitOrdering) {\n orderedImages = this.images.slice();\n } else {\n orderedImages = daikon.Series.orderDicoms(this.images, this.numberOfFrames, this.sliceDir);\n }\n\n sliceLocationFirst = orderedImages[0].getImagePositionSliceDir(this.sliceDir);\n sliceLocationLast = orderedImages[orderedImages.length - 1].getImagePositionSliceDir(this.sliceDir);\n sliceLocDiff = sliceLocationLast - sliceLocationFirst;\n\n if (daikon.Series.useExplicitOrdering) {\n this.sliceSense = false;\n } else if (this.isMosaic) {\n this.sliceSense = true;\n } else if (this.isMultiFrame) {\n sliceLocations = orderedImages[0].getSliceLocationVector();\n if (sliceLocations !== null) {\n orientation = orderedImages[0].getOrientation();\n\n if (orientation.charAt(2) === 'Z') {\n this.sliceSense = (sliceLocations[0] - sliceLocations[sliceLocations.length - 1]) < 0;\n } else {\n this.sliceSense = (sliceLocations[0] - sliceLocations[sliceLocations.length - 1]) > 0;\n }\n } else {\n this.sliceSense = sliceLocationFirst < 0 ? false : true; // maybe???\n }\n } else {\n /*\n * \"The direction of the axes is defined fully by the patient's orientation. The x-axis is increasing to the left hand side of the patient. The\n * y-axis is increasing to the posterior side of the patient. The z-axis is increasing toward the head of the patient.\"\n */\n if ((this.sliceDir === daikon.Image.SLICE_DIRECTION_SAGITTAL) || (this.sliceDir === daikon.Image.SLICE_DIRECTION_CORONAL)) {\n if (sliceLocDiff > 0) {\n this.sliceSense = false;\n } else {\n this.sliceSense = true;\n }\n } else {\n if (sliceLocDiff > 0) {\n this.sliceSense = true;\n } else {\n this.sliceSense = false;\n }\n }\n }\n\n this.imagesOriginalOrder = this.images;\n this.images = orderedImages;\n};\n\n\n/**\n * Concatenates image data (asynchronously).\n * @param {object} progressMeter -- the object must have a drawProgress(percent, label) function [e.g., drawProgress(.5, \"Loading...\")]\n * @param {Function} onFinishedImageRead -- callback\n */\ndaikon.Series.prototype.concatenateImageData = function (progressMeter, onFinishedImageRead) {\n var buffer, data, length;\n\n if (this.isMosaic) {\n data = this.getMosaicData(this.images[0], this.images[0].getPixelDataBytes());\n } else {\n data = this.images[0].getPixelDataBytes();\n }\n\n length = this.validatePixelDataLength(this.images[0]);\n this.images[0].clearPixelData();\n buffer = new Uint8Array(new ArrayBuffer(length * this.images.length));\n buffer.set(new Uint8Array(data, 0, length), 0);\n\n setTimeout(daikon.Utils.bind(this, function() { this.concatenateNextImageData(buffer, length, progressMeter, 1, onFinishedImageRead)}), 0);\n};\n\n\n\ndaikon.Series.prototype.concatenateNextImageData = function (buffer, frameSize, progressMeter, index,\n onFinishedImageRead) {\n var data, length;\n\n if (index >= this.images.length) {\n if (progressMeter) {\n progressMeter.drawProgress(1, \"Reading DICOM Images\");\n }\n\n onFinishedImageRead(buffer.buffer);\n } else {\n if (progressMeter) {\n progressMeter.drawProgress(index / this.images.length, \"Reading DICOM Images\");\n }\n\n if (this.isMosaic) {\n data = this.getMosaicData(this.images[index], this.images[index].getPixelDataBytes());\n } else {\n data = this.images[index].getPixelDataBytes();\n }\n\n length = this.validatePixelDataLength(this.images[index]);\n this.images[index].clearPixelData();\n buffer.set(new Uint8Array(data, 0, length), (frameSize * index));\n\n setTimeout(daikon.Utils.bind(this, function() {this.concatenateNextImageData(buffer, frameSize, progressMeter,\n index + 1, onFinishedImageRead);}), 0);\n }\n};\n\n\n\ndaikon.Series.prototype.validatePixelDataLength = function (image) {\n var length = image.getPixelDataBytes().byteLength,\n sliceLength = image.getCols() * image.getRows();\n\n // pixel data length should be divisible by slice size, if not, try to figure out correct pixel data length\n if ((length % sliceLength) === 0) {\n return length;\n }\n\n return sliceLength * image.getNumberOfFrames() * image.getNumberOfSamplesPerPixel() * (image.getBitsAllocated() / 8);\n};\n\n\n\ndaikon.Series.prototype.getMosaicData = function (image, data) {\n var mosaicWidth, mosaicHeight, mosaicRows, mosaicCols, mosaicRowHeight, mosaicColWidth,\n numBytes, ctrS, ctrR, ctrC, numSlices, numRows, numCols, buffer, dataTyped, offset, ctr, index = 0;\n\n numBytes = parseInt(this.images[0].getBitsAllocated() / 8);\n numSlices = this.images[0].getMosaicCols() * this.images[0].getMosaicRows();\n numRows = parseInt(this.images[0].getRows() / this.images[0].getMosaicRows());\n numCols = parseInt(this.images[0].getCols() / this.images[0].getMosaicCols());\n\n mosaicWidth = this.images[0].getCols();\n mosaicHeight = this.images[0].getRows();\n mosaicRows = this.images[0].getMosaicRows();\n mosaicCols = this.images[0].getMosaicCols();\n mosaicRowHeight = parseInt(mosaicHeight / mosaicRows);\n mosaicColWidth = parseInt(mosaicWidth / mosaicCols);\n\n buffer = new Uint8Array(new ArrayBuffer(numSlices * numRows * numCols * numBytes));\n dataTyped = new Uint8Array(data);\n\n for (ctrS = 0; ctrS < numSlices; ctrS += 1) {\n for (ctrR = 0; ctrR < numRows; ctrR += 1) {\n for (ctrC = 0; ctrC < numCols; ctrC += 1) {\n offset = daikon.Series.getMosaicOffset(mosaicCols, mosaicColWidth, mosaicRowHeight, mosaicWidth, ctrC,\n ctrR, ctrS);\n for (ctr = 0; ctr < numBytes; ctr += 1) {\n buffer[index] = dataTyped[(offset * numBytes) + ctr];\n index += 1;\n }\n }\n }\n }\n\n return buffer.buffer;\n};\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = daikon.Series;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/daikon/src/series.js\n// module id = 35\n// module chunks = 0","/*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n/*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/*jslint browser: true, node: true */\n/*global require, module */\n\n\"use strict\";\n\n/*** Imports ***/\nvar jpeg = jpeg || {};\njpeg.lossless = jpeg.lossless || {};\njpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\njpeg.lossless.HuffmanTable = jpeg.lossless.HuffmanTable || ((typeof require !== 'undefined') ? require('./huffman-table.js') : null);\njpeg.lossless.QuantizationTable = jpeg.lossless.QuantizationTable || ((typeof require !== 'undefined') ? require('./quantization-table.js') : null);\njpeg.lossless.ScanHeader = jpeg.lossless.ScanHeader || ((typeof require !== 'undefined') ? require('./scan-header.js') : null);\njpeg.lossless.FrameHeader = jpeg.lossless.FrameHeader || ((typeof require !== 'undefined') ? require('./frame-header.js') : null);\njpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null);\n\n\n/*** Constructor ***/\n\n/**\n * The Decoder constructor.\n * @property {number} xDim - size of x dimension\n * @property {number} yDim - size of y dimension\n * @property {number} numComp - number of components\n * @property {number} numBytes - number of bytes per component\n * @type {Function}\n */\njpeg.lossless.Decoder = jpeg.lossless.Decoder || function (buffer, numBytes) {\n this.buffer = buffer;\n this.frame = new jpeg.lossless.FrameHeader();\n this.huffTable = new jpeg.lossless.HuffmanTable();\n this.quantTable = new jpeg.lossless.QuantizationTable();\n this.scan = new jpeg.lossless.ScanHeader();\n this.DU = jpeg.lossless.Utils.createArray(10, 4, 64); // at most 10 data units in a MCU, at most 4 data units in one component\n this.HuffTab = jpeg.lossless.Utils.createArray(4, 2, 50 * 256);\n this.IDCT_Source = [];\n this.nBlock = []; // number of blocks in the i-th Comp in a scan\n this.acTab = jpeg.lossless.Utils.createArray(10, 1); // ac HuffTab for the i-th Comp in a scan\n this.dcTab = jpeg.lossless.Utils.createArray(10, 1); // dc HuffTab for the i-th Comp in a scan\n this.qTab = jpeg.lossless.Utils.createArray(10, 1); // quantization table for the i-th Comp in a scan\n this.marker = 0;\n this.markerIndex = 0;\n this.numComp = 0;\n this.restartInterval = 0;\n this.selection = 0;\n this.xDim = 0;\n this.yDim = 0;\n this.xLoc = 0;\n this.yLoc = 0;\n this.numBytes = 0;\n this.outputData = null;\n this.restarting = false;\n this.mask = 0;\n\n if (typeof numBytes !== \"undefined\") {\n this.numBytes = numBytes;\n }\n};\n\n\n/*** Static Pseudo-constants ***/\n\njpeg.lossless.Decoder.IDCT_P = [0, 5, 40, 16, 45, 2, 7, 42, 21, 56, 8, 61, 18, 47, 1, 4, 41, 23, 58, 13, 32, 24, 37, 10, 63, 17, 44, 3, 6, 43, 20,\n 57, 15, 34, 29, 48, 53, 26, 39, 9, 60, 19, 46, 22, 59, 12, 33, 31, 50, 55, 25, 36, 11, 62, 14, 35, 28, 49, 52, 27, 38, 30, 51, 54];\njpeg.lossless.Decoder.TABLE = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53,\n 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63];\njpeg.lossless.Decoder.MAX_HUFFMAN_SUBTREE = 50;\njpeg.lossless.Decoder.MSB = 0x80000000;\njpeg.lossless.Decoder.RESTART_MARKER_BEGIN = 0xFFD0;\njpeg.lossless.Decoder.RESTART_MARKER_END = 0xFFD7;\n\n/*** Prototype Methods ***/\n\n/**\n * Returns decompressed data.\n * @param {ArrayBuffer} buffer\n * @param {number} [offset]\n * @param {number} [length]\n * @returns {ArrayBufer}\n */\njpeg.lossless.Decoder.prototype.decompress = function (buffer, offset, length) {\n return this.decode(buffer, offset, length).buffer;\n};\n\n\n\njpeg.lossless.Decoder.prototype.decode = function (buffer, offset, length, numBytes) {\n /*jslint bitwise: true */\n\n var current, scanNum = 0, pred = [], i, compN, temp = [], index = [], mcuNum;\n\n if (typeof buffer !== \"undefined\") {\n this.buffer = buffer;\n }\n\n if (typeof numBytes !== \"undefined\") {\n this.numBytes = numBytes;\n }\n\n this.stream = new jpeg.lossless.DataStream(this.buffer, offset, length);\n this.buffer = null;\n\n this.xLoc = 0;\n this.yLoc = 0;\n current = this.stream.get16();\n\n if (current !== 0xFFD8) { // SOI\n throw new Error(\"Not a JPEG file\");\n }\n\n current = this.stream.get16();\n\n while ((((current >> 4) !== 0x0FFC) || (current === 0xFFC4))) { // SOF 0~15\n switch (current) {\n case 0xFFC4: // DHT\n this.huffTable.read(this.stream, this.HuffTab);\n break;\n case 0xFFCC: // DAC\n throw new Error(\"Program doesn't support arithmetic coding. (format throw new IOException)\");\n case 0xFFDB:\n this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE);\n break;\n case 0xFFDD:\n this.restartInterval = this.readNumber();\n break;\n case 0xFFE0:\n case 0xFFE1:\n case 0xFFE2:\n case 0xFFE3:\n case 0xFFE4:\n case 0xFFE5:\n case 0xFFE6:\n case 0xFFE7:\n case 0xFFE8:\n case 0xFFE9:\n case 0xFFEA:\n case 0xFFEB:\n case 0xFFEC:\n case 0xFFED:\n case 0xFFEE:\n case 0xFFEF:\n this.readApp();\n break;\n case 0xFFFE:\n this.readComment();\n break;\n default:\n if ((current >> 8) !== 0xFF) {\n throw new Error(\"ERROR: format throw new IOException! (decode)\");\n }\n }\n\n current = this.stream.get16();\n }\n\n if ((current < 0xFFC0) || (current > 0xFFC7)) {\n throw new Error(\"ERROR: could not handle arithmetic code!\");\n }\n\n this.frame.read(this.stream);\n current = this.stream.get16();\n\n do {\n while (current !== 0x0FFDA) { // SOS\n switch (current) {\n case 0xFFC4: // DHT\n this.huffTable.read(this.stream, this.HuffTab);\n break;\n case 0xFFCC: // DAC\n throw new Error(\"Program doesn't support arithmetic coding. (format throw new IOException)\");\n case 0xFFDB:\n this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE);\n break;\n case 0xFFDD:\n this.restartInterval = this.readNumber();\n break;\n case 0xFFE0:\n case 0xFFE1:\n case 0xFFE2:\n case 0xFFE3:\n case 0xFFE4:\n case 0xFFE5:\n case 0xFFE6:\n case 0xFFE7:\n case 0xFFE8:\n case 0xFFE9:\n case 0xFFEA:\n case 0xFFEB:\n case 0xFFEC:\n case 0xFFED:\n case 0xFFEE:\n case 0xFFEF:\n this.readApp();\n break;\n case 0xFFFE:\n this.readComment();\n break;\n default:\n if ((current >> 8) !== 0xFF) {\n throw new Error(\"ERROR: format throw new IOException! (Parser.decode)\");\n }\n }\n\n current = this.stream.get16();\n }\n\n this.precision = this.frame.precision;\n this.components = this.frame.components;\n\n if (!this.numBytes) {\n this.numBytes = parseInt(Math.ceil(this.precision / 8));\n }\n\n if (this.numBytes == 1) {\n this.mask = 0xFF;\n } else {\n this.mask = 0xFFFF;\n }\n\n this.scan.read(this.stream);\n this.numComp = this.scan.numComp;\n this.selection = this.scan.selection;\n\n if (this.numBytes === 1) {\n if (this.numComp === 3) {\n this.getter = this.getValueRGB;\n this.setter = this.setValueRGB;\n this.output = this.outputRGB;\n } else {\n this.getter = this.getValue8;\n this.setter = this.setValue8;\n this.output = this.outputSingle;\n }\n } else {\n this.getter = this.getValue16;\n this.setter = this.setValue16;\n this.output = this.outputSingle;\n }\n\n switch (this.selection) {\n case 2:\n this.selector = this.select2;\n break;\n case 3:\n this.selector = this.select3;\n break;\n case 4:\n this.selector = this.select4;\n break;\n case 5:\n this.selector = this.select5;\n break;\n case 6:\n this.selector = this.select6;\n break;\n case 7:\n this.selector = this.select7;\n break;\n default:\n this.selector = this.select1;\n break;\n }\n\n this.scanComps = this.scan.components;\n this.quantTables = this.quantTable.quantTables;\n\n for (i = 0; i < this.numComp; i+=1) {\n compN = this.scanComps[i].scanCompSel;\n this.qTab[i] = this.quantTables[this.components[compN].quantTableSel];\n this.nBlock[i] = this.components[compN].vSamp * this.components[compN].hSamp;\n this.dcTab[i] = this.HuffTab[this.scanComps[i].dcTabSel][0];\n this.acTab[i] = this.HuffTab[this.scanComps[i].acTabSel][1];\n }\n\n this.xDim = this.frame.dimX;\n this.yDim = this.frame.dimY;\n if (this.numBytes == 1) {\n this.outputData = new Uint8Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp));\n } else {\n this.outputData = new Uint16Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp));\n }\n\n scanNum+=1;\n\n while (true) { // Decode one scan\n temp[0] = 0;\n index[0] = 0;\n\n for (i = 0; i < 10; i+=1) {\n pred[i] = (1 << (this.precision - 1));\n }\n\n if (this.restartInterval === 0) {\n current = this.decodeUnit(pred, temp, index);\n\n while ((current === 0) && ((this.xLoc < this.xDim) && (this.yLoc < this.yDim))) {\n this.output(pred);\n current = this.decodeUnit(pred, temp, index);\n }\n\n break; //current=MARKER\n }\n\n for (mcuNum = 0; mcuNum < this.restartInterval; mcuNum+=1) {\n this.restarting = (mcuNum == 0);\n current = this.decodeUnit(pred, temp, index);\n this.output(pred);\n\n if (current !== 0) {\n break;\n }\n }\n\n if (current === 0) {\n if (this.markerIndex !== 0) {\n current = (0xFF00 | this.marker);\n this.markerIndex = 0;\n } else {\n current = this.stream.get16();\n }\n }\n\n if (!((current >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN) &&\n (current <= jpeg.lossless.Decoder.RESTART_MARKER_END))) {\n break; //current=MARKER\n }\n }\n\n if ((current === 0xFFDC) && (scanNum === 1)) { //DNL\n this.readNumber();\n current = this.stream.get16();\n }\n } while ((current !== 0xFFD9) && ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) && (scanNum === 0));\n\n return this.outputData;\n};\n\n\n\njpeg.lossless.Decoder.prototype.decodeUnit = function (prev, temp, index) {\n if (this.numComp == 1) {\n return this.decodeSingle(prev, temp, index);\n } else if (this.numComp == 3) {\n return this.decodeRGB(prev, temp, index);\n } else {\n return -1;\n }\n};\n\n\n\njpeg.lossless.Decoder.prototype.select1 = function (compOffset) {\n return this.getPreviousX(compOffset);\n};\n\n\n\njpeg.lossless.Decoder.prototype.select2 = function (compOffset) {\n return this.getPreviousY(compOffset);\n};\n\n\n\njpeg.lossless.Decoder.prototype.select3 = function (compOffset) {\n return this.getPreviousXY(compOffset);\n};\n\n\n\njpeg.lossless.Decoder.prototype.select4 = function (compOffset) {\n return (this.getPreviousX(compOffset) + this.getPreviousY(compOffset)) - this.getPreviousXY(compOffset);\n};\n\n\n\njpeg.lossless.Decoder.prototype.select5 = function (compOffset) {\n return this.getPreviousX(compOffset) + ((this.getPreviousY(compOffset) - this.getPreviousXY(compOffset)) >> 1);\n};\n\n\n\njpeg.lossless.Decoder.prototype.select6 = function (compOffset) {\n return this.getPreviousY(compOffset) + ((this.getPreviousX(compOffset) - this.getPreviousXY(compOffset)) >> 1);\n};\n\n\n\njpeg.lossless.Decoder.prototype.select7 = function (compOffset) {\n return ((this.getPreviousX(compOffset) + this.getPreviousY(compOffset)) / 2);\n};\n\n\n\njpeg.lossless.Decoder.prototype.decodeRGB = function (prev, temp, index) {\n /*jslint bitwise: true */\n\n var value, actab, dctab, qtab, ctrC, i, k, j;\n\n prev[0] = this.selector(0);\n prev[1] = this.selector(1);\n prev[2] = this.selector(2);\n\n for (ctrC = 0; ctrC < this.numComp; ctrC+=1) {\n qtab = this.qTab[ctrC];\n actab = this.acTab[ctrC];\n dctab = this.dcTab[ctrC];\n for (i = 0; i < this.nBlock[ctrC]; i+=1) {\n for (k = 0; k < this.IDCT_Source.length; k+=1) {\n this.IDCT_Source[k] = 0;\n }\n\n value = this.getHuffmanValue(dctab, temp, index);\n\n if (value >= 0xFF00) {\n return value;\n }\n\n prev[ctrC] = this.IDCT_Source[0] = prev[ctrC] + this.getn(index, value, temp, index);\n this.IDCT_Source[0] *= qtab[0];\n\n for (j = 1; j < 64; j+=1) {\n value = this.getHuffmanValue(actab, temp, index);\n\n if (value >= 0xFF00) {\n return value;\n }\n\n j += (value >> 4);\n\n if ((value & 0x0F) === 0) {\n if ((value >> 4) === 0) {\n break;\n }\n } else {\n this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]] = this.getn(index, value & 0x0F, temp, index) * qtab[j];\n }\n }\n }\n }\n\n return 0;\n};\n\n\n\njpeg.lossless.Decoder.prototype.decodeSingle = function (prev, temp, index) {\n /*jslint bitwise: true */\n\n var value, i, n, nRestart;\n\n if (this.restarting) {\n this.restarting = false;\n prev[0] = (1 << (this.frame.precision - 1));\n } else {\n prev[0] = this.selector();\n }\n\n for (i = 0; i < this.nBlock[0]; i+=1) {\n value = this.getHuffmanValue(this.dcTab[0], temp, index);\n if (value >= 0xFF00) {\n return value;\n }\n\n n = this.getn(prev, value, temp, index);\n nRestart = (n >> 8);\n\n if ((nRestart >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN) && (nRestart <= jpeg.lossless.Decoder.RESTART_MARKER_END)) {\n return nRestart;\n }\n\n prev[0] += n;\n }\n\n return 0;\n};\n\n\n\n//\tHuffman table for fast search: (HuffTab) 8-bit Look up table 2-layer search architecture, 1st-layer represent 256 node (8 bits) if codeword-length > 8\n//\tbits, then the entry of 1st-layer = (# of 2nd-layer table) | MSB and it is stored in the 2nd-layer Size of tables in each layer are 256.\n//\tHuffTab[*][*][0-256] is always the only 1st-layer table.\n//\n//\tAn entry can be: (1) (# of 2nd-layer table) | MSB , for code length > 8 in 1st-layer (2) (Code length) << 8 | HuffVal\n//\n//\tHuffmanValue(table HuffTab[x][y] (ex) HuffmanValue(HuffTab[1][0],...)\n//\t ):\n//\t return: Huffman Value of table\n//\t 0xFF?? if it receives a MARKER\n//\t Parameter: table HuffTab[x][y] (ex) HuffmanValue(HuffTab[1][0],...)\n//\t temp temp storage for remainded bits\n//\t index index to bit of temp\n//\t in FILE pointer\n//\t Effect:\n//\t temp store new remainded bits\n//\t index change to new index\n//\t in change to new position\n//\t NOTE:\n//\t Initial by temp=0; index=0;\n//\t NOTE: (explain temp and index)\n//\t temp: is always in the form at calling time or returning time\n//\t | byte 4 | byte 3 | byte 2 | byte 1 |\n//\t | 0 | 0 | 00000000 | 00000??? | if not a MARKER\n//\t ^index=3 (from 0 to 15)\n//\t 321\n//\t NOTE (marker and marker_index):\n//\t If get a MARKER from 'in', marker=the low-byte of the MARKER\n//\t and marker_index=9\n//\t If marker_index=9 then index is always > 8, or HuffmanValue()\n//\t will not be called\njpeg.lossless.Decoder.prototype.getHuffmanValue = function (table, temp, index) {\n /*jslint bitwise: true */\n\n var code, input, mask;\n mask = 0xFFFF;\n\n if (index[0] < 8) {\n temp[0] <<= 8;\n input = this.stream.get8();\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n temp[0] |= input;\n } else {\n index[0] -= 8;\n }\n\n code = table[temp[0] >> index[0]];\n\n if ((code & jpeg.lossless.Decoder.MSB) !== 0) {\n if (this.markerIndex !== 0) {\n this.markerIndex = 0;\n return 0xFF00 | this.marker;\n }\n\n temp[0] &= (mask >> (16 - index[0]));\n temp[0] <<= 8;\n input = this.stream.get8();\n\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n\n temp[0] |= input;\n code = table[((code & 0xFF) * 256) + (temp[0] >> index[0])];\n index[0] += 8;\n }\n\n index[0] += 8 - (code >> 8);\n\n if (index[0] < 0) {\n throw new Error(\"index=\" + index[0] + \" temp=\" + temp[0] + \" code=\" + code + \" in HuffmanValue()\");\n }\n\n if (index[0] < this.markerIndex) {\n this.markerIndex = 0;\n return 0xFF00 | this.marker;\n }\n\n temp[0] &= (mask >> (16 - index[0]));\n return code & 0xFF;\n};\n\n\n\njpeg.lossless.Decoder.prototype.getn = function (PRED, n, temp, index) {\n /*jslint bitwise: true */\n\n var result, one, n_one, mask, input;\n one = 1;\n n_one = -1;\n mask = 0xFFFF;\n\n if (n === 0) {\n return 0;\n }\n\n if (n === 16) {\n if (PRED[0] >= 0) {\n return -32768;\n } else {\n return 32768;\n }\n }\n\n index[0] -= n;\n\n if (index[0] >= 0) {\n if ((index[0] < this.markerIndex) && !this.isLastPixel()) { // this was corrupting the last pixel in some cases\n this.markerIndex = 0;\n return (0xFF00 | this.marker) << 8;\n }\n\n result = temp[0] >> index[0];\n temp[0] &= (mask >> (16 - index[0]));\n } else {\n temp[0] <<= 8;\n input = this.stream.get8();\n\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n\n temp[0] |= input;\n index[0] += 8;\n\n if (index[0] < 0) {\n if (this.markerIndex !== 0) {\n this.markerIndex = 0;\n return (0xFF00 | this.marker) << 8;\n }\n\n temp[0] <<= 8;\n input = this.stream.get8();\n\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n\n temp[0] |= input;\n index[0] += 8;\n }\n\n if (index[0] < 0) {\n throw new Error(\"index=\" + index[0] + \" in getn()\");\n }\n\n if (index[0] < this.markerIndex) {\n this.markerIndex = 0;\n return (0xFF00 | this.marker) << 8;\n }\n\n result = temp[0] >> index[0];\n temp[0] &= (mask >> (16 - index[0]));\n }\n\n if (result < (one << (n - 1))) {\n result += (n_one << n) + 1;\n }\n\n return result;\n};\n\n\n\njpeg.lossless.Decoder.prototype.getPreviousX = function (compOffset) {\n /*jslint bitwise: true */\n\n if (this.xLoc > 0) {\n return this.getter((((this.yLoc * this.xDim) + this.xLoc) - 1), compOffset);\n } else if (this.yLoc > 0) {\n return this.getPreviousY(compOffset);\n } else {\n return (1 << (this.frame.precision - 1));\n }\n};\n\n\n\njpeg.lossless.Decoder.prototype.getPreviousXY = function (compOffset) {\n /*jslint bitwise: true */\n\n if ((this.xLoc > 0) && (this.yLoc > 0)) {\n return this.getter(((((this.yLoc - 1) * this.xDim) + this.xLoc) - 1), compOffset);\n } else {\n return this.getPreviousY(compOffset);\n }\n};\n\n\n\njpeg.lossless.Decoder.prototype.getPreviousY = function (compOffset) {\n /*jslint bitwise: true */\n\n if (this.yLoc > 0) {\n return this.getter((((this.yLoc - 1) * this.xDim) + this.xLoc), compOffset);\n } else {\n return this.getPreviousX(compOffset);\n }\n};\n\n\n\njpeg.lossless.Decoder.prototype.isLastPixel = function () {\n return (this.xLoc === (this.xDim - 1)) && (this.yLoc === (this.yDim - 1));\n};\n\n\n\njpeg.lossless.Decoder.prototype.outputSingle = function (PRED) {\n if ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) {\n this.setter((((this.yLoc * this.xDim) + this.xLoc)), this.mask & PRED[0]);\n\n this.xLoc+=1;\n\n if (this.xLoc >= this.xDim) {\n this.yLoc+=1;\n this.xLoc = 0;\n }\n }\n};\n\n\n\njpeg.lossless.Decoder.prototype.outputRGB = function (PRED) {\n var offset = ((this.yLoc * this.xDim) + this.xLoc);\n\n if ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) {\n this.setter(offset, PRED[0], 0);\n this.setter(offset, PRED[1], 1);\n this.setter(offset, PRED[2], 2);\n\n this.xLoc+=1;\n\n if (this.xLoc >= this.xDim) {\n this.yLoc+=1;\n this.xLoc = 0;\n }\n }\n};\n\njpeg.lossless.Decoder.prototype.setValue8 = function (index, val) {\n this.outputData[index] = val; \n};\n\njpeg.lossless.Decoder.prototype.getValue8 = function (index) {\n return this.outputData[index]; // mask should not be necessary because outputData is either Int8Array or Int16Array\n};\n\nvar littleEndian = (function() {\n var buffer = new ArrayBuffer(2);\n new DataView(buffer).setInt16(0, 256, true /* littleEndian */);\n // Int16Array uses the platform's endianness.\n return new Int16Array(buffer)[0] === 256;\n})();\n\nif (littleEndian) {\n // just reading from an array is fine then. Int16Array will use platform endianness.\n jpeg.lossless.Decoder.prototype.setValue16 = jpeg.lossless.Decoder.prototype.setValue8; \n jpeg.lossless.Decoder.prototype.getValue16 = jpeg.lossless.Decoder.prototype.getValue8;\n} \nelse {\n // If platform is big-endian, we will need to convert to little-endian \n jpeg.lossless.Decoder.prototype.setValue16 = function (index, val) {\n this.outputData[index] = ((val & 0xFF) << 8) | ((val >> 8) & 0xFF); \n };\n\n jpeg.lossless.Decoder.prototype.getValue16 = function (index) {\n var val = this.outputData[index];\n return ((val & 0xFF) << 8) | ((val >> 8) & 0xFF);\n };\n}\n\njpeg.lossless.Decoder.prototype.setValueRGB = function (index, val, compOffset) {\n // this.outputData.setUint8(index * 3 + compOffset, val);\n this.outputData[index * 3 + compOffset] = val;\n};\n\njpeg.lossless.Decoder.prototype.getValueRGB = function (index, compOffset) {\n // return this.outputData.getUint8(index * 3 + compOffset);\n return this.outputData[index * 3 + compOffset];\n};\n\n\n\njpeg.lossless.Decoder.prototype.readApp = function() {\n var count = 0, length = this.stream.get16();\n count += 2;\n\n while (count < length) {\n this.stream.get8();\n count+=1;\n }\n\n return length;\n};\n\n\n\njpeg.lossless.Decoder.prototype.readComment = function () {\n var sb = \"\", count = 0, length;\n\n length = this.stream.get16();\n count += 2;\n\n while (count < length) {\n sb += this.stream.get8();\n count+=1;\n }\n\n return sb;\n};\n\n\n\njpeg.lossless.Decoder.prototype.readNumber = function() {\n var Ld = this.stream.get16();\n\n if (Ld !== 4) {\n throw new Error(\"ERROR: Define number format throw new IOException [Ld!=4]\");\n }\n\n return this.stream.get16();\n};\n\n\n\n/*** Exports ***/\n\nvar moduleType = typeof module;\nif ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.Decoder;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/jpeg-lossless-decoder-js/src/decoder.js\n// module id = 36\n// module chunks = 0","'use strict';\n\n\nvar zlib_deflate = require('./zlib/deflate');\nvar utils = require('./utils/common');\nvar strings = require('./utils/strings');\nvar msg = require('./zlib/messages');\nvar ZStream = require('./zlib/zstream');\n\nvar toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_SYNC_FLUSH = 2;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Deflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate(options) {\n if (!(this instanceof Deflate)) return new Deflate(options);\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n var dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = zlib_deflate.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the compression context.\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/deflate.js\n// module id = 37\n// module chunks = 0","'use strict';\n\n\nvar zlib_inflate = require('./zlib/inflate');\nvar utils = require('./utils/common');\nvar strings = require('./utils/strings');\nvar c = require('./zlib/constants');\nvar msg = require('./zlib/messages');\nvar ZStream = require('./zlib/zstream');\nvar GZheader = require('./zlib/gzheader');\n\nvar toString = Object.prototype.toString;\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Inflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate(options) {\n if (!(this instanceof Inflate)) return new Inflate(options);\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new GZheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the decompression context.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var dictionary = this.options.dictionary;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n // Flag to properly process Z_BUF_ERROR on testing inflate call\n // when we check that all output data was flushed.\n var allowBufError = false;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status === c.Z_NEED_DICT && dictionary) {\n status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);\n }\n\n if (status === c.Z_BUF_ERROR && allowBufError === true) {\n status = c.Z_OK;\n allowBufError = false;\n }\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n\n // When no more input data, we should check that internal inflate buffers\n // are flushed. The only way to do it when avail_out = 0 - run one more\n // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.\n // Here we set flag to process this error properly.\n //\n // NOTE. Deflate does not return error in this case and does not needs such\n // logic.\n if (strm.avail_in === 0 && strm.avail_out === 0) {\n allowBufError = true;\n }\n\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === c.Z_SYNC_FLUSH) {\n this.onEnd(c.Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 aligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg || msg[inflator.err]; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/inflate.js\n// module id = 38\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\nvar trees = require('./trees');\nvar adler32 = require('./adler32');\nvar crc32 = require('./crc32');\nvar msg = require('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only(s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);\n this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var s;\n var str, n;\n var wrap;\n var avail;\n var next;\n var input;\n var tmpDict;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n s = strm.state;\n wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n tmpDict = new utils.Buf8(s.w_size);\n utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n avail = strm.avail_in;\n next = strm.next_in;\n input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart;\n n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/deflate.js\n// module id = 39\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/gzheader.js\n// module id = 40\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/inffast.js\n// module id = 41\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\nvar adler32 = require('./adler32');\nvar crc32 = require('./crc32');\nvar inflate_fast = require('./inffast');\nvar inflate_table = require('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/inflate.js\n// module id = 42\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/inftrees.js\n// module id = 43\n// module chunks = 0","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = require('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits = /* extra bits for each length code */\n [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];\n\nvar extra_dbits = /* extra bits for each distance code */\n [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];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n * 2;\n var _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/girder_archive_access/~/pako/lib/zlib/trees.js\n// module id = 44\n// module chunks = 0","module.exports = (__webpack_require__(5))(103);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/dicom-viewer/views/DicomView.js from dll-reference girder_plugin_dicom_viewer\n// module id = 45\n// module chunks = 0","module.exports = (__webpack_require__(5))(159);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/node-libs-browser/mock/empty.js from dll-reference girder_plugin_dicom_viewer\n// module id = 46\n// module chunks = 0","module.exports = (__webpack_require__(5))(160);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/path-browserify/index.js from dll-reference girder_plugin_dicom_viewer\n// module id = 47\n// module chunks = 0","module.exports = (__webpack_require__(11))(39);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/FileModel.js from dll-reference girder_lib\n// module id = 48\n// module chunks = 0","module.exports = (__webpack_require__(11))(4);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/rest.js from dll-reference girder_lib\n// module id = 49\n// module chunks = 0","module.exports = (__webpack_require__(5))(73);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/process/browser.js from dll-reference girder_plugin_dicom_viewer\n// module id = 50\n// module chunks = 0","module.exports = (__webpack_require__(11))(84);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/PluginUtils.js from dll-reference girder_lib\n// module id = 51\n// module chunks = 0"],"sourceRoot":""}