├── .eslintrc.json ├── .github └── workflows │ └── close_stale_issues.yml ├── .gitignore ├── LICENSE ├── Makefile.in ├── README.md ├── analysis-plugins ├── fits2fits.json ├── imsection.json ├── js9Analysis-fits.json ├── js9Analysis-funtools.json ├── listhdus.json ├── loadProxy.json ├── quotacheck.json └── uploadfits.json ├── analysis-wrappers └── js9Xeq ├── astroem.js ├── astroem ├── Makefile ├── include │ ├── boundaries.h │ ├── bzlib.h │ ├── bzlib_private.h │ ├── cfortran.h │ ├── coord.h │ ├── crc32.h │ ├── curl.h │ ├── deflate.h │ ├── drvrgsiftp.h │ ├── drvrsmem.h │ ├── em.h │ ├── eval_defs.h │ ├── eval_tab.h │ ├── f77_wrap.h │ ├── file.h │ ├── find.h │ ├── fitsfile.h │ ├── fitshead.h │ ├── fitsio.h │ ├── fitsio2.h │ ├── fpack.h │ ├── group.h │ ├── grparser.h │ ├── gzguts.h │ ├── hdr_rec.h │ ├── imfilter_c.h │ ├── imio.h │ ├── imregions.h │ ├── imregions_c.h │ ├── imregions_h.h │ ├── inffast.h │ ├── inffixed.h │ ├── inflate.h │ ├── inftrees.h │ ├── longnam.h │ ├── macro.h │ ├── mtbl.h │ ├── region.h │ ├── regions.h │ ├── regionsP.h │ ├── simplerng.h │ ├── strtod.h │ ├── swap.h │ ├── trees.h │ ├── wcs.h │ ├── wcslib.h │ ├── word.h │ ├── xalloc.h │ ├── xerror.h │ ├── xutil.h │ ├── zconf.h │ ├── zlib.h │ └── zutil.h ├── jsfitsio │ ├── HPXcvt.c │ ├── Makefile.in │ ├── config.guess │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── evcube.c │ ├── healpix.c │ ├── healpix.h │ ├── idx.c │ ├── idx.h │ ├── install-sh │ ├── jsfitsio.c │ ├── jsfitsio.h │ ├── mkidx.c │ ├── sortidx.c │ └── tfits.c ├── lib │ ├── libcfitsio.a │ ├── libem.a │ ├── libregions.a │ ├── libutil.a │ └── libwcs.a ├── montage │ ├── Makefile │ ├── VERSION │ ├── boundaries.c │ ├── boundaries.h │ ├── ccalc.c │ ├── checkHdr.c │ ├── checkWCS.c │ ├── computeFKCorrections.c │ ├── convertBesselianJulian.c │ ├── convertCoordinates.c │ ├── convertEclEqu.c │ ├── convertEquGal.c │ ├── convertGalSgal.c │ ├── coord.h │ ├── debugCheck.c │ ├── decimalDegreeToSex.c │ ├── distort.c │ ├── distort.h │ ├── filePath.c │ ├── get_files.c │ ├── get_hdr.c │ ├── initdistdata.c │ ├── mAdd.c │ ├── mGlobals.c │ ├── mImgtbl.c │ ├── mMakeHdr.c │ ├── mNaN.h │ ├── mProjectPP.c │ ├── mShrinkHdr.c │ ├── mTANHdr.c │ ├── montage.h │ ├── mtbl.c │ ├── mtbl.h │ ├── mtest.c │ ├── overlapAreaPP.c │ ├── precessBesselian.c │ ├── precessJulian.c │ ├── print_rec.c │ ├── redefine_pointing.c │ ├── redefine_pointing.h │ ├── sexToDecimalDegree.c │ ├── two_plane.c │ ├── two_plane.h │ └── undistort.c ├── post.js ├── pre.js ├── shell-post.js ├── shell-pre.js ├── wrappers │ ├── listhdu.c │ └── wrappers.c └── zscale │ ├── cdl.h │ ├── cdlP.h │ ├── cdlProto.h │ ├── cdlzscale.c │ └── eps.h ├── astroemw.js ├── astroemw.wasm ├── build ├── closure-compiler │ ├── COPYING │ ├── README.md │ ├── closure-compiler-v20190909.jar │ └── compiler.jar ├── config.guess ├── config.sub ├── i800400.fits.gz ├── install-sh ├── js9.in ├── js9AppWrapper.sh ├── js9Helper-default.cgi ├── minify ├── mkallinone ├── mkhelper ├── mkinline ├── mkjs9 ├── mkjs9app ├── mkplugins ├── mkpng ├── nnode ├── quicktest ├── saoconfig ├── saoport └── saoprefs.sed ├── configure ├── configure.ac ├── css ├── dhtmlwindow.css ├── jquery.contextMenu-v2.8.0.css ├── jquery.contextMenu.css ├── spectrum.css └── tabcontent.css ├── demos ├── data ├── js9_postmessage.html ├── js9allinone.html ├── js9analysis.html ├── js9basics.html ├── js9bespoke.html ├── js9bitpix.html ├── js9blend.html ├── js9cat.html ├── js9cmaps.html ├── js9create.html ├── js9dysel.html ├── js9iframe.html ├── js9imexam.html ├── js9large.html ├── js9masks.html ├── js9menustyles.html ├── js9multi.html ├── js9onchange.html ├── js9panzoom.html ├── js9plugins.html ├── js9preload.html ├── js9refresh.html ├── js9rgb.html ├── js9sizes.html ├── js9super.html ├── js9sync.html ├── js9usermenus.css └── js9usermenus.js ├── favicon.ico ├── font ├── context-menu-icons.eot ├── context-menu-icons.ttf ├── context-menu-icons.woff └── context-menu-icons.woff2 ├── help ├── archives.html ├── changelog.html ├── desktop.html ├── extmsg.html ├── helper.html ├── install.html ├── knownissues.html ├── localtasks.html ├── memory.html ├── preferences.html ├── publicapi.html ├── python.html ├── regions.html ├── repfile.html ├── securityissues.html ├── serverside.html ├── user.html ├── webpage.html └── yourdata.html ├── images ├── 4arrow.png ├── checkmark.svg ├── close.gif ├── empty.svg ├── gears.png ├── indentbg.gif ├── indentbg2.gif ├── indentbg2_grey.png ├── indentbg_grey.png ├── js9-apple-touch-icon.icns ├── js9-apple-touch-icon.png ├── js9Readme.png ├── js9logo.png ├── js9logo │ ├── mac │ │ ├── js9logo-is32.icns │ │ └── js9logo.icns │ ├── png │ │ ├── js9logo_128.png │ │ ├── js9logo_256.png │ │ ├── js9logo_48.png │ │ ├── js9logo_512.png │ │ ├── js9logo_64.png │ │ └── js9logo_96.png │ └── win │ │ └── js9logo_512.ico ├── min.gif ├── resize.gif ├── restore.gif ├── shade.gif ├── shadeactive.gif ├── si-logo.png ├── sun.png ├── toolbar │ ├── dax_images │ │ ├── 10_4.png │ │ ├── 2_2.png │ │ ├── 5_5.png │ │ ├── 8_3.png │ │ ├── annulus.png │ │ ├── back.png │ │ ├── bin_minus.png │ │ ├── bin_one.png │ │ ├── bin_plus.png │ │ ├── blank.png │ │ ├── blk.png │ │ ├── blu.png │ │ ├── box.png │ │ ├── circle.png │ │ ├── cmap_a.png │ │ ├── cmap_aips0.png │ │ ├── cmap_b.png │ │ ├── cmap_bb.png │ │ ├── cmap_blue.png │ │ ├── cmap_color.png │ │ ├── cmap_cool.png │ │ ├── cmap_green.png │ │ ├── cmap_grey.png │ │ ├── cmap_he.png │ │ ├── cmap_heat.png │ │ ├── cmap_hsv.png │ │ ├── cmap_i8.png │ │ ├── cmap_inferno.png │ │ ├── cmap_magma.png │ │ ├── cmap_parula.png │ │ ├── cmap_plasma.png │ │ ├── cmap_rainbow.png │ │ ├── cmap_red.png │ │ ├── cmap_sls.png │ │ ├── cmap_staircase.png │ │ ├── cmap_standard.png │ │ ├── cmap_viridis.png │ │ ├── contour.png │ │ ├── coords.png │ │ ├── cyn.png │ │ ├── ellipse.png │ │ ├── erase.png │ │ ├── filter.png │ │ ├── front.png │ │ ├── glvary.png │ │ ├── grn.png │ │ ├── incexl.png │ │ ├── lightcurve.png │ │ ├── lin.png │ │ ├── log.png │ │ ├── mag.png │ │ ├── mag_minus.png │ │ ├── mag_one.png │ │ ├── mag_plus.png │ │ ├── match.png │ │ ├── minus.png │ │ ├── open.png │ │ ├── pan.png │ │ ├── plus.png │ │ ├── poly.png │ │ ├── pow.png │ │ ├── pur.png │ │ ├── red.png │ │ ├── smooth.png │ │ ├── spectrum.png │ │ ├── srcbkg.png │ │ ├── stats.png │ │ ├── text.png │ │ ├── wht.png │ │ └── yel.png │ ├── odax_images │ │ ├── 10_4.png │ │ ├── 2_2.png │ │ ├── 5_5.png │ │ ├── 8_3.png │ │ ├── annulus.png │ │ ├── back.png │ │ ├── bin_minus.png │ │ ├── bin_one.png │ │ ├── bin_plus.png │ │ ├── blank.png │ │ ├── blk.png │ │ ├── blu.png │ │ ├── box.png │ │ ├── circle.png │ │ ├── cmap_a.png │ │ ├── cmap_aips0.png │ │ ├── cmap_b.png │ │ ├── cmap_bb.png │ │ ├── cmap_blue.png │ │ ├── cmap_color.png │ │ ├── cmap_cool.png │ │ ├── cmap_green.png │ │ ├── cmap_grey.png │ │ ├── cmap_he.png │ │ ├── cmap_heat.png │ │ ├── cmap_hsv.png │ │ ├── cmap_i8.png │ │ ├── cmap_inferno.png │ │ ├── cmap_magma.png │ │ ├── cmap_parula.png │ │ ├── cmap_plasma.png │ │ ├── cmap_rainbow.png │ │ ├── cmap_red.png │ │ ├── cmap_sls.png │ │ ├── cmap_staircase.png │ │ ├── cmap_standard.png │ │ ├── cmap_viridis.png │ │ ├── contour.png │ │ ├── coords.png │ │ ├── cyn.png │ │ ├── ellipse.png │ │ ├── erase.png │ │ ├── filter.png │ │ ├── front.png │ │ ├── glvary.png │ │ ├── grn.png │ │ ├── incexl.png │ │ ├── lightcurve.png │ │ ├── lin.png │ │ ├── log.png │ │ ├── mag.png │ │ ├── mag_minus.png │ │ ├── mag_one.png │ │ ├── mag_plus.png │ │ ├── match.png │ │ ├── minus.png │ │ ├── open.png │ │ ├── pan.png │ │ ├── plus.png │ │ ├── poly.png │ │ ├── pow.png │ │ ├── pur.png │ │ ├── red.png │ │ ├── smooth.png │ │ ├── spectrum.png │ │ ├── srcbkg.png │ │ ├── stats.png │ │ ├── text.png │ │ ├── wht.png │ │ └── yel.png │ ├── svg │ └── threedots.png ├── voyager.icns ├── voyager │ ├── binning_bin1.svg │ ├── binning_bin12.svg │ ├── binning_bin2.svg │ ├── color_a.png │ ├── color_aips0.png │ ├── color_b.png │ ├── color_bb.png │ ├── color_blue.png │ ├── color_color.png │ ├── color_cool.png │ ├── color_green.png │ ├── color_grey.png │ ├── color_he.png │ ├── color_heat.png │ ├── color_hsv.png │ ├── color_i8.png │ ├── color_inferno.png │ ├── color_magma.png │ ├── color_parula.png │ ├── color_plasma.png │ ├── color_rainbow.png │ ├── color_red.png │ ├── color_sls.png │ ├── color_staircase.png │ ├── color_standard.png │ ├── color_turbo.png │ ├── color_viridis.png │ ├── regions_annulus.svg │ ├── regions_box.svg │ ├── regions_circle.svg │ ├── regions_cross.svg │ ├── regions_ellipse.svg │ ├── regions_line.svg │ ├── regions_point.svg │ ├── regions_polygon.svg │ ├── regions_text.svg │ ├── zoom_1.svg │ ├── zoom_in.svg │ ├── zoom_mag.svg │ ├── zoom_out.svg │ ├── zoom_tofit.svg │ └── zoom_zoom.svg └── voyagerlogo.png ├── js ├── ElementQueries.js ├── ElementQueries.min.js ├── FileSaver.js ├── FileSaver.min.js ├── README ├── ResizeSensor.js ├── ResizeSensor.min.js ├── arrive.js ├── arrive.min.js ├── bzip2.js ├── caman.full.js ├── canvas-toBlob.js ├── dhtmlwindow.js ├── dhtmlwindow.min.js ├── dhtmlwindow_blurb.js ├── fabric-v4.5.1.js ├── fabric-v4.5.1.min.js ├── fabric-v4.6.0.js ├── fabric-v4.6.0.min.js ├── fabric-v5.2.1.js ├── fabric-v5.2.1.min.js ├── fabric.js ├── fabric.min.js ├── flot-zoom.js ├── flot-zoom.min.js ├── gaussblur-orig.js ├── gaussblur.js ├── gaussblur.min.js ├── imagefilters.js ├── imagefilters.min.js ├── jquery-3.5.0.js ├── jquery-3.5.0.min.js ├── jquery-migrate-3.1.0.js ├── jquery-migrate-3.1.0.min.js ├── jquery-ui-1.12.1.js ├── jquery-ui-1.12.1.min.js ├── jquery-ui.js ├── jquery-ui.min.js ├── jquery.caret.js ├── jquery.caret.min.js ├── jquery.colorhelpers.js ├── jquery.colorhelpers.min.js ├── jquery.contextMenu-v2.6.3.js ├── jquery.contextMenu-v2.6.3.min.js ├── jquery.contextMenu-v2.8.0.js ├── jquery.contextMenu.js ├── jquery.contextMenu.min.js ├── jquery.doubletap.js ├── jquery.doubletap.min.js ├── jquery.flot.axislabels.js ├── jquery.flot.axislabels.min.js ├── jquery.flot.canvas.js ├── jquery.flot.canvas.min.js ├── jquery.flot.categories.js ├── jquery.flot.categories.min.js ├── jquery.flot.crosshair.js ├── jquery.flot.crosshair.min.js ├── jquery.flot.errorbars.js ├── jquery.flot.errorbars.min.js ├── jquery.flot.fillbetween.js ├── jquery.flot.fillbetween.min.js ├── jquery.flot.image.js ├── jquery.flot.image.min.js ├── jquery.flot.js ├── jquery.flot.min.js ├── jquery.flot.navigate.js ├── jquery.flot.navigate.min.js ├── jquery.flot.pie.js ├── jquery.flot.pie.min.js ├── jquery.flot.resize.js ├── jquery.flot.resize.min.js ├── jquery.flot.selection.js ├── jquery.flot.selection.min.js ├── jquery.flot.stack.js ├── jquery.flot.stack.min.js ├── jquery.flot.symbol.js ├── jquery.flot.symbol.min.js ├── jquery.flot.threshold.js ├── jquery.flot.threshold.min.js ├── jquery.flot.time.js ├── jquery.flot.time.min.js ├── jquery.js ├── jquery.mark.es6.js ├── jquery.mark.es6.min.js ├── jquery.min.js ├── jquery.ui.touch-punch.js ├── jquery.ui.touch-punch.min.js ├── js9inline.js ├── jsmanipulate.js ├── minify-warnings-v20190909.log ├── nf ├── pako_inflate.js ├── pako_inflate.min.js ├── regSelect.js ├── spectrum.js ├── spectrum.min.js ├── spin.js ├── spin.min.js ├── sprintf.js ├── sprintf.min.js ├── tabcontent.js ├── tinycolor.js ├── tinycolor.min.js ├── winmod.js ├── zee.js └── zpipe.js ├── js9 ├── js9-allinone.css ├── js9-allinone.js ├── js9.css ├── js9.html ├── js9.js ├── js9.min.js ├── js9Electron.js ├── js9ElectronMainMenu.js ├── js9ElectronPreload.js ├── js9Helper.js ├── js9Msg.js ├── js9PostMessage.js ├── js9Prefs.json ├── js9Regions.js ├── js9load ├── js9msg ├── js9plugins.js ├── js9plugins.min.js ├── js9prefs.js ├── js9support.css ├── js9support.js ├── js9support.min.js ├── js9support.txt ├── js9wait ├── js9worker.js ├── node_modules ├── .bin │ ├── is-docker │ ├── rimraf │ └── uuid ├── .package-lock.json ├── @socket.io │ └── component-emitter │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json ├── @types │ ├── cookie │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ └── package.json │ ├── cors │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ └── package.json │ └── node │ │ ├── LICENSE │ │ ├── README.md │ │ ├── assert.d.ts │ │ ├── assert │ │ └── strict.d.ts │ │ ├── async_hooks.d.ts │ │ ├── buffer.d.ts │ │ ├── child_process.d.ts │ │ ├── cluster.d.ts │ │ ├── console.d.ts │ │ ├── constants.d.ts │ │ ├── crypto.d.ts │ │ ├── dgram.d.ts │ │ ├── diagnostics_channel.d.ts │ │ ├── dns.d.ts │ │ ├── dns │ │ └── promises.d.ts │ │ ├── dom-events.d.ts │ │ ├── domain.d.ts │ │ ├── events.d.ts │ │ ├── fs.d.ts │ │ ├── fs │ │ └── promises.d.ts │ │ ├── globals.d.ts │ │ ├── globals.global.d.ts │ │ ├── http.d.ts │ │ ├── http2.d.ts │ │ ├── https.d.ts │ │ ├── index.d.ts │ │ ├── inspector.d.ts │ │ ├── module.d.ts │ │ ├── net.d.ts │ │ ├── os.d.ts │ │ ├── package.json │ │ ├── path.d.ts │ │ ├── perf_hooks.d.ts │ │ ├── process.d.ts │ │ ├── punycode.d.ts │ │ ├── querystring.d.ts │ │ ├── readline.d.ts │ │ ├── readline │ │ └── promises.d.ts │ │ ├── repl.d.ts │ │ ├── sea.d.ts │ │ ├── stream.d.ts │ │ ├── stream │ │ ├── consumers.d.ts │ │ ├── promises.d.ts │ │ └── web.d.ts │ │ ├── string_decoder.d.ts │ │ ├── test.d.ts │ │ ├── timers.d.ts │ │ ├── timers │ │ └── promises.d.ts │ │ ├── tls.d.ts │ │ ├── trace_events.d.ts │ │ ├── tty.d.ts │ │ ├── url.d.ts │ │ ├── util.d.ts │ │ ├── v8.d.ts │ │ ├── vm.d.ts │ │ ├── wasi.d.ts │ │ ├── worker_threads.d.ts │ │ └── zlib.d.ts ├── accepts │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── balanced-match │ ├── .github │ │ └── FUNDING.yml │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ └── package.json ├── base64id │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── base64id.js │ └── package.json ├── brace-expansion │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── concat-map │ ├── .travis.yml │ ├── LICENSE │ ├── README.markdown │ ├── example │ │ └── map.js │ ├── index.js │ ├── package.json │ └── test │ │ └── map.js ├── cookie │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── index.js │ └── package.json ├── cors │ ├── CONTRIBUTING.md │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── index.js │ └── package.json ├── debug │ ├── LICENSE │ ├── Readme.md │ ├── package.json │ └── src │ │ ├── browser.js │ │ ├── common.js │ │ ├── index.js │ │ └── node.js ├── define-lazy-prop │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── engine.io-client │ ├── LICENSE │ ├── README.md │ ├── build │ │ ├── cjs │ │ │ ├── browser-entrypoint.d.ts │ │ │ ├── browser-entrypoint.js │ │ │ ├── contrib │ │ │ │ ├── has-cors.d.ts │ │ │ │ ├── has-cors.js │ │ │ │ ├── parseqs.d.ts │ │ │ │ ├── parseqs.js │ │ │ │ ├── parseuri.d.ts │ │ │ │ ├── parseuri.js │ │ │ │ ├── yeast.d.ts │ │ │ │ └── yeast.js │ │ │ ├── globalThis.browser.d.ts │ │ │ ├── globalThis.browser.js │ │ │ ├── globalThis.d.ts │ │ │ ├── globalThis.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── transport.d.ts │ │ │ ├── transport.js │ │ │ ├── transports │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── polling.d.ts │ │ │ │ ├── polling.js │ │ │ │ ├── websocket-constructor.browser.d.ts │ │ │ │ ├── websocket-constructor.browser.js │ │ │ │ ├── websocket-constructor.d.ts │ │ │ │ ├── websocket-constructor.js │ │ │ │ ├── websocket.d.ts │ │ │ │ ├── websocket.js │ │ │ │ ├── webtransport.d.ts │ │ │ │ ├── webtransport.js │ │ │ │ ├── xmlhttprequest.browser.d.ts │ │ │ │ ├── xmlhttprequest.browser.js │ │ │ │ ├── xmlhttprequest.d.ts │ │ │ │ └── xmlhttprequest.js │ │ │ ├── util.d.ts │ │ │ └── util.js │ │ ├── esm-debug │ │ │ ├── browser-entrypoint.d.ts │ │ │ ├── browser-entrypoint.js │ │ │ ├── contrib │ │ │ │ ├── has-cors.d.ts │ │ │ │ ├── has-cors.js │ │ │ │ ├── parseqs.d.ts │ │ │ │ ├── parseqs.js │ │ │ │ ├── parseuri.d.ts │ │ │ │ ├── parseuri.js │ │ │ │ ├── yeast.d.ts │ │ │ │ └── yeast.js │ │ │ ├── globalThis.browser.d.ts │ │ │ ├── globalThis.browser.js │ │ │ ├── globalThis.d.ts │ │ │ ├── globalThis.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── transport.d.ts │ │ │ ├── transport.js │ │ │ ├── transports │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── polling.d.ts │ │ │ │ ├── polling.js │ │ │ │ ├── websocket-constructor.browser.d.ts │ │ │ │ ├── websocket-constructor.browser.js │ │ │ │ ├── websocket-constructor.d.ts │ │ │ │ ├── websocket-constructor.js │ │ │ │ ├── websocket.d.ts │ │ │ │ ├── websocket.js │ │ │ │ ├── webtransport.d.ts │ │ │ │ ├── webtransport.js │ │ │ │ ├── xmlhttprequest.browser.d.ts │ │ │ │ ├── xmlhttprequest.browser.js │ │ │ │ ├── xmlhttprequest.d.ts │ │ │ │ └── xmlhttprequest.js │ │ │ ├── util.d.ts │ │ │ └── util.js │ │ └── esm │ │ │ ├── browser-entrypoint.d.ts │ │ │ ├── browser-entrypoint.js │ │ │ ├── contrib │ │ │ ├── has-cors.d.ts │ │ │ ├── has-cors.js │ │ │ ├── parseqs.d.ts │ │ │ ├── parseqs.js │ │ │ ├── parseuri.d.ts │ │ │ ├── parseuri.js │ │ │ ├── yeast.d.ts │ │ │ └── yeast.js │ │ │ ├── globalThis.browser.d.ts │ │ │ ├── globalThis.browser.js │ │ │ ├── globalThis.d.ts │ │ │ ├── globalThis.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── transport.d.ts │ │ │ ├── transport.js │ │ │ ├── transports │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── polling.d.ts │ │ │ ├── polling.js │ │ │ ├── websocket-constructor.browser.d.ts │ │ │ ├── websocket-constructor.browser.js │ │ │ ├── websocket-constructor.d.ts │ │ │ ├── websocket-constructor.js │ │ │ ├── websocket.d.ts │ │ │ ├── websocket.js │ │ │ ├── webtransport.d.ts │ │ │ ├── webtransport.js │ │ │ ├── xmlhttprequest.browser.d.ts │ │ │ ├── xmlhttprequest.browser.js │ │ │ ├── xmlhttprequest.d.ts │ │ │ └── xmlhttprequest.js │ │ │ ├── util.d.ts │ │ │ └── util.js │ ├── dist │ │ ├── engine.io.esm.min.js │ │ ├── engine.io.esm.min.js.map │ │ ├── engine.io.js │ │ ├── engine.io.js.map │ │ ├── engine.io.min.js │ │ └── engine.io.min.js.map │ └── package.json ├── engine.io-parser │ ├── LICENSE │ ├── Readme.md │ ├── build │ │ ├── cjs │ │ │ ├── commons.d.ts │ │ │ ├── commons.js │ │ │ ├── contrib │ │ │ │ ├── base64-arraybuffer.d.ts │ │ │ │ └── base64-arraybuffer.js │ │ │ ├── decodePacket.browser.d.ts │ │ │ ├── decodePacket.browser.js │ │ │ ├── decodePacket.d.ts │ │ │ ├── decodePacket.js │ │ │ ├── encodePacket.browser.d.ts │ │ │ ├── encodePacket.browser.js │ │ │ ├── encodePacket.d.ts │ │ │ ├── encodePacket.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── package.json │ │ └── esm │ │ │ ├── commons.d.ts │ │ │ ├── commons.js │ │ │ ├── contrib │ │ │ ├── base64-arraybuffer.d.ts │ │ │ └── base64-arraybuffer.js │ │ │ ├── decodePacket.browser.d.ts │ │ │ ├── decodePacket.browser.js │ │ │ ├── decodePacket.d.ts │ │ │ ├── decodePacket.js │ │ │ ├── encodePacket.browser.d.ts │ │ │ ├── encodePacket.browser.js │ │ │ ├── encodePacket.d.ts │ │ │ ├── encodePacket.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── engine.io │ ├── LICENSE │ ├── README.md │ ├── build │ │ ├── engine.io.d.ts │ │ ├── engine.io.js │ │ ├── parser-v3 │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── utf8.d.ts │ │ │ └── utf8.js │ │ ├── server.d.ts │ │ ├── server.js │ │ ├── socket.d.ts │ │ ├── socket.js │ │ ├── transport.d.ts │ │ ├── transport.js │ │ ├── transports-uws │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── polling.d.ts │ │ │ ├── polling.js │ │ │ ├── websocket.d.ts │ │ │ └── websocket.js │ │ ├── transports │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── polling-jsonp.d.ts │ │ │ ├── polling-jsonp.js │ │ │ ├── polling.d.ts │ │ │ ├── polling.js │ │ │ ├── websocket.d.ts │ │ │ ├── websocket.js │ │ │ ├── webtransport.d.ts │ │ │ └── webtransport.js │ │ ├── userver.d.ts │ │ └── userver.js │ ├── package.json │ └── wrapper.mjs ├── fs.realpath │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── old.js │ └── package.json ├── glob │ ├── LICENSE │ ├── README.md │ ├── changelog.md │ ├── common.js │ ├── glob.js │ ├── package.json │ └── sync.js ├── inflight │ ├── LICENSE │ ├── README.md │ ├── inflight.js │ └── package.json ├── inherits │ ├── LICENSE │ ├── README.md │ ├── inherits.js │ ├── inherits_browser.js │ └── package.json ├── is-docker │ ├── cli.js │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── is-wsl │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── mime-db │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── db.json │ ├── index.js │ └── package.json ├── mime-types │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── minimatch │ ├── LICENSE │ ├── README.md │ ├── minimatch.js │ └── package.json ├── minimist │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── example │ │ └── parse.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── all_bool.js │ │ ├── bool.js │ │ ├── dash.js │ │ ├── default_bool.js │ │ ├── dotted.js │ │ ├── kv_short.js │ │ ├── long.js │ │ ├── num.js │ │ ├── parse.js │ │ ├── parse_modified.js │ │ ├── proto.js │ │ ├── short.js │ │ ├── stop_early.js │ │ ├── unknown.js │ │ └── whitespace.js ├── ms │ ├── index.js │ ├── license.md │ ├── package.json │ └── readme.md ├── negotiator │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── charset.js │ │ ├── encoding.js │ │ ├── language.js │ │ └── mediaType.js │ └── package.json ├── object-assign │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── once │ ├── LICENSE │ ├── README.md │ ├── once.js │ └── package.json ├── open │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ ├── readme.md │ └── xdg-open ├── path-is-absolute │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── ps-list │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ ├── readme.md │ └── vendor │ │ ├── fastlist-0.3.0-x64.exe │ │ └── fastlist-0.3.0-x86.exe ├── rimraf │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin.js │ ├── package.json │ └── rimraf.js ├── socket.io-adapter │ ├── LICENSE │ ├── Readme.md │ ├── dist │ │ ├── cluster-adapter.d.ts │ │ ├── cluster-adapter.js │ │ ├── contrib │ │ │ ├── yeast.d.ts │ │ │ └── yeast.js │ │ ├── in-memory-adapter.d.ts │ │ ├── in-memory-adapter.js │ │ ├── index.d.ts │ │ └── index.js │ └── package.json ├── socket.io-client │ ├── LICENSE │ ├── README.md │ ├── build │ │ ├── cjs │ │ │ ├── browser-entrypoint.d.ts │ │ │ ├── browser-entrypoint.js │ │ │ ├── contrib │ │ │ │ ├── backo2.d.ts │ │ │ │ └── backo2.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── manager.d.ts │ │ │ ├── manager.js │ │ │ ├── on.d.ts │ │ │ ├── on.js │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── url.d.ts │ │ │ └── url.js │ │ ├── esm-debug │ │ │ ├── browser-entrypoint.d.ts │ │ │ ├── browser-entrypoint.js │ │ │ ├── contrib │ │ │ │ ├── backo2.d.ts │ │ │ │ └── backo2.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── manager.d.ts │ │ │ ├── manager.js │ │ │ ├── on.d.ts │ │ │ ├── on.js │ │ │ ├── package.json │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── url.d.ts │ │ │ └── url.js │ │ └── esm │ │ │ ├── browser-entrypoint.d.ts │ │ │ ├── browser-entrypoint.js │ │ │ ├── contrib │ │ │ ├── backo2.d.ts │ │ │ └── backo2.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── manager.d.ts │ │ │ ├── manager.js │ │ │ ├── on.d.ts │ │ │ ├── on.js │ │ │ ├── package.json │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── url.d.ts │ │ │ └── url.js │ ├── dist │ │ ├── socket.io.esm.min.js │ │ ├── socket.io.esm.min.js.map │ │ ├── socket.io.js │ │ ├── socket.io.js.map │ │ ├── socket.io.min.js │ │ ├── socket.io.min.js.map │ │ ├── socket.io.msgpack.min.js │ │ └── socket.io.msgpack.min.js.map │ └── package.json ├── socket.io-parser │ ├── LICENSE │ ├── Readme.md │ ├── build │ │ ├── cjs │ │ │ ├── binary.d.ts │ │ │ ├── binary.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── is-binary.d.ts │ │ │ ├── is-binary.js │ │ │ └── package.json │ │ ├── esm-debug │ │ │ ├── binary.d.ts │ │ │ ├── binary.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── is-binary.d.ts │ │ │ ├── is-binary.js │ │ │ └── package.json │ │ └── esm │ │ │ ├── binary.d.ts │ │ │ ├── binary.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── is-binary.d.ts │ │ │ ├── is-binary.js │ │ │ └── package.json │ └── package.json ├── socket.io │ ├── LICENSE │ ├── Readme.md │ ├── client-dist │ │ ├── socket.io.esm.min.js │ │ ├── socket.io.esm.min.js.map │ │ ├── socket.io.js │ │ ├── socket.io.js.map │ │ ├── socket.io.min.js │ │ ├── socket.io.min.js.map │ │ ├── socket.io.msgpack.min.js │ │ └── socket.io.msgpack.min.js.map │ ├── dist │ │ ├── broadcast-operator.d.ts │ │ ├── broadcast-operator.js │ │ ├── client.d.ts │ │ ├── client.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── namespace.d.ts │ │ ├── namespace.js │ │ ├── parent-namespace.d.ts │ │ ├── parent-namespace.js │ │ ├── socket.d.ts │ │ ├── socket.js │ │ ├── typed-events.d.ts │ │ ├── typed-events.js │ │ ├── uws.d.ts │ │ └── uws.js │ ├── package.json │ └── wrapper.mjs ├── undici-types │ ├── README.md │ ├── agent.d.ts │ ├── api.d.ts │ ├── balanced-pool.d.ts │ ├── cache.d.ts │ ├── client.d.ts │ ├── connector.d.ts │ ├── content-type.d.ts │ ├── cookies.d.ts │ ├── diagnostics-channel.d.ts │ ├── dispatcher.d.ts │ ├── errors.d.ts │ ├── fetch.d.ts │ ├── file.d.ts │ ├── filereader.d.ts │ ├── formdata.d.ts │ ├── global-dispatcher.d.ts │ ├── global-origin.d.ts │ ├── handlers.d.ts │ ├── header.d.ts │ ├── index.d.ts │ ├── interceptors.d.ts │ ├── mock-agent.d.ts │ ├── mock-client.d.ts │ ├── mock-errors.d.ts │ ├── mock-interceptor.d.ts │ ├── mock-pool.d.ts │ ├── package.json │ ├── patch.d.ts │ ├── pool-stats.d.ts │ ├── pool.d.ts │ ├── proxy-agent.d.ts │ ├── readable.d.ts │ ├── webidl.d.ts │ └── websocket.d.ts ├── uuid │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE.md │ ├── README.md │ ├── dist │ │ ├── bin │ │ │ └── uuid │ │ ├── commonjs-browser │ │ │ ├── index.js │ │ │ ├── md5.js │ │ │ ├── native.js │ │ │ ├── nil.js │ │ │ ├── parse.js │ │ │ ├── regex.js │ │ │ ├── rng.js │ │ │ ├── sha1.js │ │ │ ├── stringify.js │ │ │ ├── v1.js │ │ │ ├── v3.js │ │ │ ├── v35.js │ │ │ ├── v4.js │ │ │ ├── v5.js │ │ │ ├── validate.js │ │ │ └── version.js │ │ ├── esm-browser │ │ │ ├── index.js │ │ │ ├── md5.js │ │ │ ├── native.js │ │ │ ├── nil.js │ │ │ ├── parse.js │ │ │ ├── regex.js │ │ │ ├── rng.js │ │ │ ├── sha1.js │ │ │ ├── stringify.js │ │ │ ├── v1.js │ │ │ ├── v3.js │ │ │ ├── v35.js │ │ │ ├── v4.js │ │ │ ├── v5.js │ │ │ ├── validate.js │ │ │ └── version.js │ │ ├── esm-node │ │ │ ├── index.js │ │ │ ├── md5.js │ │ │ ├── native.js │ │ │ ├── nil.js │ │ │ ├── parse.js │ │ │ ├── regex.js │ │ │ ├── rng.js │ │ │ ├── sha1.js │ │ │ ├── stringify.js │ │ │ ├── v1.js │ │ │ ├── v3.js │ │ │ ├── v35.js │ │ │ ├── v4.js │ │ │ ├── v5.js │ │ │ ├── validate.js │ │ │ └── version.js │ │ ├── index.js │ │ ├── md5-browser.js │ │ ├── md5.js │ │ ├── native-browser.js │ │ ├── native.js │ │ ├── nil.js │ │ ├── parse.js │ │ ├── regex.js │ │ ├── rng-browser.js │ │ ├── rng.js │ │ ├── sha1-browser.js │ │ ├── sha1.js │ │ ├── stringify.js │ │ ├── uuid-bin.js │ │ ├── v1.js │ │ ├── v3.js │ │ ├── v35.js │ │ ├── v4.js │ │ ├── v5.js │ │ ├── validate.js │ │ └── version.js │ ├── package.json │ └── wrapper.mjs ├── vary │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── wrappy │ ├── LICENSE │ ├── README.md │ ├── package.json │ └── wrappy.js ├── ws │ ├── LICENSE │ ├── README.md │ ├── browser.js │ ├── index.js │ ├── lib │ │ ├── buffer-util.js │ │ ├── constants.js │ │ ├── event-target.js │ │ ├── extension.js │ │ ├── limiter.js │ │ ├── permessage-deflate.js │ │ ├── receiver.js │ │ ├── sender.js │ │ ├── stream.js │ │ ├── subprotocol.js │ │ ├── validation.js │ │ ├── websocket-server.js │ │ └── websocket.js │ ├── package.json │ └── wrapper.mjs └── xmlhttprequest-ssl │ ├── LICENSE │ ├── README.md │ ├── autotest.watchr │ ├── example │ └── demo.js │ ├── lib │ └── XMLHttpRequest.js │ ├── package.json │ └── tests │ ├── test-constants.js │ ├── test-events.js │ ├── test-exceptions.js │ ├── test-headers.js │ ├── test-redirect-302.js │ ├── test-redirect-303.js │ ├── test-redirect-307.js │ ├── test-request-methods.js │ ├── test-request-protocols.js │ └── testdata.txt ├── package-lock.json ├── package.json ├── params ├── datapath.html ├── evfilter.html ├── filepath.html ├── histplot.html ├── lightclose.html ├── load.html ├── loadcors.html ├── loadproxy.html ├── plotconfig.html ├── regionsconfig.html └── regionssave.html ├── plugins ├── archive │ ├── CORS-proxy.cgi │ ├── README │ ├── archive.html │ ├── archive.js │ └── simbad-proxy.cgi ├── core │ ├── blend.css │ ├── blend.js │ ├── blink.css │ ├── blink.js │ ├── cmaps.css │ ├── cmaps.js │ ├── colorbar.css │ ├── colorbar.js │ ├── colorcontrols.css │ ├── colorcontrols.js │ ├── console.js │ ├── cube.css │ ├── cube.js │ ├── divs.css │ ├── divs.js │ ├── filters.css │ ├── filters.js │ ├── imarith.css │ ├── imarith.js │ ├── info.js │ ├── keyboard.css │ ├── keyboard.js │ ├── layers.css │ ├── layers.js │ ├── magnifier.js │ ├── mef.css │ ├── mef.js │ ├── menubar.js │ ├── mousetouch.css │ ├── panner.js │ ├── prefs.js │ ├── scalecontrols.css │ ├── scalecontrols.js │ ├── separate.css │ ├── separate.js │ ├── statusbar.css │ ├── statusbar.js │ ├── sync.js │ ├── syncui.css │ ├── syncui.js │ ├── toolbar.css │ ├── toolbar.js │ ├── zoomcontrols.css │ └── zoomcontrols.js ├── fitsy │ ├── README │ ├── binning.html │ ├── binning.js │ ├── bzip2.js │ ├── fitsy.js │ ├── lzma_worker.js │ └── pako_inflate.min.js ├── help │ ├── blend.html │ ├── blink.html │ ├── cmaps.html │ ├── colorbar.html │ ├── colorcontrols.html │ ├── console.html │ ├── cube.html │ ├── divs.html │ ├── filters.html │ ├── imarith.html │ ├── info.html │ ├── keyboard.html │ ├── layers.html │ ├── magnifier.html │ ├── mef.html │ ├── mousetouch.html │ ├── panner.html │ ├── plugintest.html │ ├── prefs.html │ ├── scalecontrols.html │ ├── separate.html │ ├── statusbar.html │ ├── syncui.html │ ├── toolbar.html │ └── zoomcontrols.html ├── imexam │ ├── 3dplot.js │ ├── 4arrow.png │ ├── README │ ├── contour.js │ ├── contours.html │ ├── encircled.js │ ├── imcnts.js │ ├── imexam.html │ ├── imexam.js │ ├── pixtable.js │ ├── radproj.js │ ├── reghist.js │ ├── regstat.js │ ├── rghxrg.js │ └── xyproj.js ├── plugintest.css └── plugintest.js ├── sao ├── FITS-proxy.cgi └── index.html ├── scripts ├── fits2png ├── funcnts2flot ├── funhist2flot └── js9mosaic ├── src ├── Makefile.in ├── js9helper.c ├── js9helper.h ├── js9helper.pc.in ├── regSelect.jison └── util │ ├── Makefile │ ├── file.c │ ├── file.h │ ├── find.c │ ├── find.h │ ├── macro.c │ ├── macro.h │ ├── swap.c │ ├── swap.h │ ├── word.c │ ├── word.h │ ├── xalloc.c │ ├── xalloc.h │ └── xutil.h └── tests ├── countsInRegions.log ├── data ├── dcoords.reg ├── ebands ├── ecnts.js ├── js9debug.html ├── js9memleak.html ├── smoke.html ├── smoke.py ├── smoke2.py ├── smoke3.py ├── smokesubs.py ├── test0.html ├── test1.html ├── test2.html ├── test3.html ├── test4.html ├── test5.html ├── test6.html ├── test7.html ├── testhelper.html ├── testwait ├── threeways ├── threeloop ├── threeways.html ├── threeways.js ├── threeways.py ├── threeways.sh └── threeways_app.html ├── vela.html └── velajr.png /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es6": true, 5 | "node": true 6 | }, 7 | "extends": "eslint:recommended", 8 | "globals": { 9 | "Atomics": "readonly", 10 | "SharedArrayBuffer": "readonly" 11 | }, 12 | "parserOptions": { 13 | "ecmaVersion": 2018 14 | }, 15 | "rules": { 16 | "no-mixed-spaces-and-tabs": "off", 17 | "no-console": "error" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.a 3 | *~ 4 | *.so 5 | *.bak 6 | *.pyc 7 | *-orig 8 | *-sav 9 | foo* 10 | goo* 11 | conf.h 12 | config.status 13 | config.log 14 | config.cache 15 | debug*.html 16 | debug*.py 17 | TODO 18 | BUGS 19 | tpos 20 | js9helper 21 | js9helper.pc 22 | .DS_Store 23 | a.out.dSYM 24 | /Makefile 25 | /src/Makefile 26 | /astroem/jsfitsio/Makefile 27 | /astroem/wrappers/Makefile 28 | /data 29 | /tests2 30 | /notes 31 | /old 32 | /tmp 33 | /talks 34 | -------------------------------------------------------------------------------- /analysis-plugins/fits2fits.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name" : "fits2fits", 3 | "title" : "Convert FITS to representation FITS", 4 | "files" : "*", 5 | "action" : "js9Xeq imsection", 6 | "hidden" : true, 7 | "rtype" : "fits"} 8 | ] 9 | -------------------------------------------------------------------------------- /analysis-plugins/imsection.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name" : "imsection", 3 | "title" : "Extract an Image Section", 4 | "files" : "fits", 5 | "purl" : "./params/imsection.html", 6 | "action" : "js9Xeq imsection $filename $xdim@$xcen,$ydim@$ycen,$bin $filter $slice", 7 | "workDir": true, 8 | "hidden" : true, 9 | "rtype" : "fits"} 10 | ] 11 | 12 | -------------------------------------------------------------------------------- /analysis-plugins/js9Analysis-fits.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name" : "fitshead", 3 | "title" : "FITS Header(s)", 4 | "files" : "fits", 5 | "action" : "js9Xeq fitshead $filename", 6 | "rtype" : "text"}, 7 | {"name" : "macros", 8 | "title" : "Display Macros", 9 | "action" : "js9Xeq macros $image $filename $filename(this) '$ext' '$imcenter' '$wcscenter' '$id' '$foo' '$sregions' '$bregions' '$regions(wcs)' '$regions(physical)' 'ampersand and backquote: `ls &`'", 10 | "hidden" : true, 11 | "rtype" : "text"} 12 | ] 13 | -------------------------------------------------------------------------------- /analysis-plugins/listhdus.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name" : "listhdus", 3 | "title" : "List HDUs in a FITS File", 4 | "files" : "fits", 5 | "action" : "js9Xeq listhdus $filename", 6 | "hidden" : true, 7 | "rtype" : "text"} 8 | ] 9 | -------------------------------------------------------------------------------- /analysis-plugins/loadProxy.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name" : "loadproxy", 3 | "title" : "Open a Link via Server Proxy", 4 | "files" : "*", 5 | "purl" : "./params/loadproxy.html", 6 | "action" : "js9Xeq loadproxy $url", 7 | "workDir": true, 8 | "hidden" : true, 9 | "rtype" : "fits" 10 | }, 11 | {"name" : "removeproxy", 12 | "title" : "Remove a File from the Proxy Server", 13 | "files" : "*", 14 | "action" : "js9Xeq removeproxy $proxyfile", 15 | "workDir": true, 16 | "hidden" : true, 17 | "rtype" : "fits" 18 | } 19 | ] 20 | 21 | -------------------------------------------------------------------------------- /analysis-plugins/quotacheck.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name" : "quotacheck", 3 | "title" : "Check Quota for Remote Analysis", 4 | "files" : "*", 5 | "action" : "js9Xeq quotacheck", 6 | "hidden" : true, 7 | "rtype" : "text"} 8 | ] 9 | -------------------------------------------------------------------------------- /analysis-plugins/uploadfits.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name" : "uploadfits", 3 | "title" : "Upload a FITS File to the Remote Server", 4 | "files" : "*", 5 | "action" : "js9Xeq uploadfits $uuid", 6 | "workDir": true, 7 | "hidden" : true, 8 | "rtype" : "text" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /astroem/include/boundaries.h: -------------------------------------------------------------------------------- 1 | ../montage/boundaries.h -------------------------------------------------------------------------------- /astroem/include/coord.h: -------------------------------------------------------------------------------- 1 | ../montage/coord.h -------------------------------------------------------------------------------- /astroem/include/curl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/astroem/include/curl.h -------------------------------------------------------------------------------- /astroem/include/em.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * em.h -- declarations for emscripten-specific calls 8 | * 9 | */ 10 | 11 | #ifndef __em_h 12 | #define __em_h 13 | 14 | #define EM_SETJMP setjmp(em_jmpbuf) 15 | 16 | extern jmp_buf em_jmpbuf; 17 | 18 | void em_exit(int n); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /astroem/include/find.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * find.h -- declarations for find finding 8 | * 9 | */ 10 | 11 | #ifndef __find_h 12 | #define __find_h 13 | 14 | #include "xutil.h" 15 | #include "xalloc.h" 16 | 17 | char *ResolvePath(char *ibuf, char *obuf, int maxlen); 18 | void ExpandEnv(char *name, char *fullname, int maxlen); 19 | char *Access(char *name, char *mode); 20 | char *Find(char *name, char *mode, char *extn, char *path); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /astroem/include/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /astroem/include/macro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * macro.h - include file for the macro expander 8 | * 9 | */ 10 | 11 | #ifndef __macro_h 12 | #define __macro_h 13 | 14 | #include "xutil.h" 15 | 16 | typedef char *(*MacroCall)(char *s, void *client_data); 17 | 18 | char *ExpandMacro(char *icmd, char **keyword, char **value, int nkey, 19 | MacroCall client_callback, void *client_data); 20 | 21 | #endif /* __macro.h */ 22 | -------------------------------------------------------------------------------- /astroem/include/mtbl.h: -------------------------------------------------------------------------------- 1 | ../montage/mtbl.h -------------------------------------------------------------------------------- /astroem/include/strtod.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * strtod.h -- declarations for SAOstrtod() 8 | * 9 | */ 10 | 11 | #ifndef __strtod_h 12 | #define __strtod_h 13 | 14 | extern int SAOdtype; 15 | 16 | double SAOstrtod(char *s, char **t); 17 | char *SAOconvert(char *buff, double val, int type, int prec); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /astroem/include/swap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1999-2003 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * swap.h -- declarations for swap 8 | * 9 | */ 10 | 11 | #ifndef __swap_h 12 | #define __swap_h 13 | 14 | /* data types */ 15 | #define TY_CHAR 1 16 | #define TY_USHORT -2 17 | #define TY_SHORT 2 18 | #define TY_INT 4 19 | #define TY_FLOAT -4 20 | #define TY_DOUBLE -8 21 | 22 | int is_bigendian(void); 23 | void swap_short(short *buf, int n); 24 | void swap_ushort(unsigned short *buf, int n); 25 | void swap_int(int *buf, int n); 26 | void swap_uint(unsigned int *buf, int n); 27 | void swap_float(float *buf, int n); 28 | void swap_double(double *buf, int n); 29 | void swap_data(void *buf, int len, int dtype); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /astroem/include/xalloc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * xalloc.h -- declarations for safe (error-checked) memory allocation 8 | * 9 | */ 10 | 11 | #ifndef __xalloc_h 12 | #define __xalloc_h 13 | 14 | #include "xutil.h" 15 | #ifdef HAVE_SETJMP_H 16 | #define XALLOC_SETJMP 142857 17 | #include 18 | #endif 19 | 20 | void *xmalloc(size_t n); 21 | void *xcalloc(size_t n, size_t s); 22 | void *xrealloc(void *p, size_t n); 23 | void xfree(void *p); 24 | char *xstrdup(char *s); 25 | #if HAVE_SETJMP 26 | void xalloc_savejmp(jmp_buf *env); 27 | #endif 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /astroem/include/xerror.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * xerror.h -- declarations for xerror handling 8 | * 9 | */ 10 | 11 | #ifndef __xerror_h 12 | #define __xerror_h 13 | 14 | #include "xutil.h" 15 | #ifdef __STDC__ 16 | #include 17 | #else 18 | #include 19 | #endif 20 | 21 | char *xerrorstring(void); 22 | int setxerror(int flag); 23 | FILE *setxerrorfd(FILE *fd); 24 | void setxerrorexit(void (*rtn)(void)); 25 | void xerror(FILE *fd, char *format, ...); 26 | char *xwarningstring(void); 27 | int setxwarning(int flag); 28 | void xwarning(FILE *fd, char *format, ...); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /astroem/jsfitsio/healpix.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * healpix.h - include file for healpix support 8 | * 9 | */ 10 | 11 | #ifndef __healpix_h 12 | #define __healpix_h 13 | 14 | fitsfile *healpixToImage(fitsfile *ifptr, int *status); 15 | 16 | #endif /* __healpix.h */ 17 | -------------------------------------------------------------------------------- /astroem/lib/libcfitsio.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/astroem/lib/libcfitsio.a -------------------------------------------------------------------------------- /astroem/lib/libem.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/astroem/lib/libem.a -------------------------------------------------------------------------------- /astroem/lib/libregions.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/astroem/lib/libregions.a -------------------------------------------------------------------------------- /astroem/lib/libutil.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/astroem/lib/libutil.a -------------------------------------------------------------------------------- /astroem/lib/libwcs.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/astroem/lib/libwcs.a -------------------------------------------------------------------------------- /astroem/montage/Makefile: -------------------------------------------------------------------------------- 1 | BASE = $$HOME 2 | CFLAGS= -I$(BASE)/include 3 | LIBS= -L$(BASE)/lib -lwcs -lcfitsio -lm 4 | 5 | MSRCS = mtest.c \ 6 | mProjectPP.c \ 7 | overlapAreaPP.c \ 8 | debugCheck.c \ 9 | checkHdr.c \ 10 | checkWCS.c \ 11 | two_plane.c \ 12 | distort.c \ 13 | undistort.c \ 14 | initdistdata.c \ 15 | redefine_pointing.c 16 | MOBJS = $(MSRCS:%.c=%.o) 17 | 18 | PROGS = mtest 19 | 20 | all: $(PROGS) 21 | 22 | mtest: $(MOBJS) 23 | $(CC) -o $@ $+ $(LIBS) 24 | 25 | clean: FORCE 26 | @(rm -rf $(PROGS) *.o *~ a.out* foo* *.map \#* mProjectPP) 27 | 28 | FORCE: 29 | -------------------------------------------------------------------------------- /astroem/montage/VERSION: -------------------------------------------------------------------------------- 1 | 4.0 2 | -------------------------------------------------------------------------------- /astroem/montage/mGlobals.c: -------------------------------------------------------------------------------- 1 | /* 2 | * mGlobals.c -- allocate space for variables that are global to Montage 3 | * 4 | * added by EGM 11/19/19 to fix "multiply-defined" errors (emscripten 1.39.x) 5 | * 6 | */ 7 | 8 | #include 9 | FILE *fstatus = NULL; 10 | int coord_debug = 0; 11 | -------------------------------------------------------------------------------- /astroem/montage/mNaN.h: -------------------------------------------------------------------------------- 1 | /* Module: mNaN.h 2 | 3 | Version Developer Date Change 4 | ------- --------------- ------- ----------------------- 5 | 2.0 John Good 17Nov14 Change to 'isfinite()' macro 6 | */ 7 | 8 | #ifndef _BSD_SOURCE 9 | #define _BSD_SOURCE 10 | #endif 11 | 12 | #include 13 | 14 | #define mNaN(x) isnan(x) || !isfinite(x) 15 | 16 | -------------------------------------------------------------------------------- /astroem/montage/montage.h: -------------------------------------------------------------------------------- 1 | #ifndef MONTAGE 2 | extern FILE *fstatus; 3 | #define MONTAGE 4 | #endif 5 | -------------------------------------------------------------------------------- /astroem/pre.js: -------------------------------------------------------------------------------- 1 | /*global $ */ 2 | var Module; 3 | if( typeof Module !== "object" ){ Module = {}; } 4 | Module["noExitRuntime"] = true; 5 | Module["onRuntimeInitialized"] = function(){ 6 | if( window.jQuery ){ 7 | if( Module["astroemReady"] ){ 8 | $(document).trigger("astroem:ready", {status: "OK"}); 9 | } else { 10 | Module["astroemReady"] = true; 11 | } 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /astroem/shell-pre.js: -------------------------------------------------------------------------------- 1 | 2 | // astroem.js: astronomy/astrophysics utilities compiled to javascript 3 | // see: https://github.com/kripken/emscripten 4 | -------------------------------------------------------------------------------- /astroemw.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/astroemw.wasm -------------------------------------------------------------------------------- /build/closure-compiler/closure-compiler-v20190909.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/build/closure-compiler/closure-compiler-v20190909.jar -------------------------------------------------------------------------------- /build/closure-compiler/compiler.jar: -------------------------------------------------------------------------------- 1 | closure-compiler-v20190909.jar -------------------------------------------------------------------------------- /build/i800400.fits.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/build/i800400.fits.gz -------------------------------------------------------------------------------- /build/js9AppWrapper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # wrapper script used by MacOS js9.app to run Electron with the user's path 4 | mypath=`${SHELL:-/bin/bash} -c 'echo $PATH'` 5 | if [ x"$mypath" != x ]; then 6 | export PATH="$mypath" 7 | fi 8 | exec "`dirname \"$0\"`/Electron" $@ 9 | 10 | -------------------------------------------------------------------------------- /build/minify: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ $# -lt 1 ]; then 4 | echo "usage: $0 ifile1 ifile2 ... ifilen" 5 | exit 6 | fi 7 | 8 | while [ x"$1" != x ]; do 9 | IFILE="$1" 10 | OFILE=`echo $IFILE | sed 's/\.js$/\.min\.js/'` 11 | java -jar build/closure-compiler/compiler.jar --js $IFILE --js_output_file $OFILE 12 | shift 13 | done 14 | -------------------------------------------------------------------------------- /build/mkinline: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # set -x 3 | 4 | FILES=`eval ls images/{close,min,resize,restore}.gif images/toolbar/dax_images/{lin,log,pow,annulus,box,circle,ellipse,poly,text,erase,incexl,srcbkg,mag_plus,mag_minus,mag_one,bin_plus,bin_minus,bin_one,open,pan,mag,stats,smooth}.png` 5 | INLINE="js/js9inline.js" 6 | 7 | rm -rf $INLINE 8 | 9 | echo "" >> $INLINE 10 | echo "JS9Inline = {};" >> $INLINE 11 | 12 | for file in $FILES; do 13 | if [ -r $file ]; then 14 | base=$(basename -- "$file") 15 | ext="${base##*.}" 16 | echo "JS9Inline['$file'] = 'data:image/${ext};base64,"`cat $file | base64`"';" >> $INLINE 17 | else 18 | echo "WARNING: file not found: $file" 19 | fi 20 | done 21 | 22 | 23 | -------------------------------------------------------------------------------- /build/mkplugins: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo '"use strict";' 4 | cat $@ | grep -v '^"use strict";' 5 | 6 | # cat $1 7 | # shift 8 | # cat $@ 9 | # # cat $@ | grep -v '^"use strict";' 10 | 11 | -------------------------------------------------------------------------------- /build/quicktest: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "quick js9 test ..." 4 | if [ x$1 != x ]; then 5 | FILE="$1" 6 | fi 7 | 8 | 9 | if [ $? = 0 ]; then 10 | pgrep -f js9Helper.js >/dev/null || build/nnode 11 | printf "\nNB: if Chrome is your default browser, you probably need to exit Chrome,\nso that it can be re-started with the correct switches for this quicktest.\n\n" 12 | ./js9 -v -b & 13 | sleep 3 14 | if [ x$FILE != x ]; then 15 | ./js9load $FILE 16 | ./js9 SetScale log 17 | ./js9 SetColormap viridis 18 | ./js9 DisplayPlugin JS9Magnifier 19 | fi 20 | else 21 | echo "requires Node.js (https://nodejs.org)" 22 | fi 23 | -------------------------------------------------------------------------------- /build/saoport: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # set -x 3 | 4 | FILE="sao/js9prefs.js" 5 | if [ ! -r $FILE ]; then 6 | echo "$FILE not found" 7 | exit 1 8 | fi 9 | case `uname -n` in 10 | js9*) 11 | sed -e 's#\("helperPort" *: *\)[^,]*#\1443#' < $FILE > $FILE.new && mv $FILE.new $FILE 12 | ;; 13 | baba*) 14 | sed -e 's#\("helperPort" *: *\)[^,]*#\180#' < $FILE > $FILE.new && mv $FILE.new $FILE 15 | ;; 16 | esac 17 | -------------------------------------------------------------------------------- /build/saoprefs.sed: -------------------------------------------------------------------------------- 1 | s#\("socketioVersion" *: *\)[^,]*#\12# 2 | s#\("scale" *:.*"\)[^"]*\("\)#\1log\2# 3 | s#\("pngisfits" *:.*\)false\(.*\)#\1true\2# 4 | s#\("fits2png" *:.*\)false\(.*\)#\1false\2# 5 | s#\("loadProxy" *:.*\)false\(.*\)#\1true\2# 6 | s#\("workDir" *:.*"\)[^"]*\("\)#\1./tmp\2# 7 | -------------------------------------------------------------------------------- /demos/data: -------------------------------------------------------------------------------- 1 | ../data -------------------------------------------------------------------------------- /demos/js9usermenus.css: -------------------------------------------------------------------------------- 1 | /* override usermenu defaults in js9.css */ 2 | 3 | /* image associated with the colormap title */ 4 | img.JS9MenubarUserImageTitle[name="colormap"]{ 5 | width: 60px; 6 | } 7 | 8 | /* all menu option images in the colormap menu */ 9 | img.JS9MenubarUserImageOption[name^="colormap"]{ 10 | width: 60px; 11 | } 12 | 13 | /* image associated with the region title */ 14 | img.JS9MenubarUserImageTitle[name="regions"]{ 15 | width: 30px; 16 | } 17 | 18 | /* all menu option images in the regions menu */ 19 | img.JS9MenubarUserImageOption[name^="regions"]{ 20 | width: 20px; 21 | } 22 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/favicon.ico -------------------------------------------------------------------------------- /font/context-menu-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/font/context-menu-icons.eot -------------------------------------------------------------------------------- /font/context-menu-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/font/context-menu-icons.ttf -------------------------------------------------------------------------------- /font/context-menu-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/font/context-menu-icons.woff -------------------------------------------------------------------------------- /font/context-menu-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/font/context-menu-icons.woff2 -------------------------------------------------------------------------------- /images/4arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/4arrow.png -------------------------------------------------------------------------------- /images/checkmark.svg: -------------------------------------------------------------------------------- 1 | checkmark -------------------------------------------------------------------------------- /images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/close.gif -------------------------------------------------------------------------------- /images/empty.svg: -------------------------------------------------------------------------------- 1 | empty -------------------------------------------------------------------------------- /images/gears.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/gears.png -------------------------------------------------------------------------------- /images/indentbg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/indentbg.gif -------------------------------------------------------------------------------- /images/indentbg2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/indentbg2.gif -------------------------------------------------------------------------------- /images/indentbg2_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/indentbg2_grey.png -------------------------------------------------------------------------------- /images/indentbg_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/indentbg_grey.png -------------------------------------------------------------------------------- /images/js9-apple-touch-icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9-apple-touch-icon.icns -------------------------------------------------------------------------------- /images/js9-apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9-apple-touch-icon.png -------------------------------------------------------------------------------- /images/js9Readme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9Readme.png -------------------------------------------------------------------------------- /images/js9logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo.png -------------------------------------------------------------------------------- /images/js9logo/mac/js9logo-is32.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/mac/js9logo-is32.icns -------------------------------------------------------------------------------- /images/js9logo/mac/js9logo.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/mac/js9logo.icns -------------------------------------------------------------------------------- /images/js9logo/png/js9logo_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/png/js9logo_128.png -------------------------------------------------------------------------------- /images/js9logo/png/js9logo_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/png/js9logo_256.png -------------------------------------------------------------------------------- /images/js9logo/png/js9logo_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/png/js9logo_48.png -------------------------------------------------------------------------------- /images/js9logo/png/js9logo_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/png/js9logo_512.png -------------------------------------------------------------------------------- /images/js9logo/png/js9logo_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/png/js9logo_64.png -------------------------------------------------------------------------------- /images/js9logo/png/js9logo_96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/png/js9logo_96.png -------------------------------------------------------------------------------- /images/js9logo/win/js9logo_512.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/js9logo/win/js9logo_512.ico -------------------------------------------------------------------------------- /images/min.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/min.gif -------------------------------------------------------------------------------- /images/resize.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/resize.gif -------------------------------------------------------------------------------- /images/restore.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/restore.gif -------------------------------------------------------------------------------- /images/shade.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/shade.gif -------------------------------------------------------------------------------- /images/shadeactive.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/shadeactive.gif -------------------------------------------------------------------------------- /images/si-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/si-logo.png -------------------------------------------------------------------------------- /images/sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/sun.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/10_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/10_4.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/2_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/2_2.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/5_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/5_5.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/8_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/8_3.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/annulus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/annulus.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/back.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/bin_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/bin_minus.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/bin_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/bin_one.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/bin_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/bin_plus.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/blank.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/blk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/blk.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/blu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/blu.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/box.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/circle.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_a.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_aips0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_aips0.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_b.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_bb.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_blue.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_color.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_cool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_cool.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_green.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_grey.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_he.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_he.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_heat.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_hsv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_hsv.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_i8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_i8.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_inferno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_inferno.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_magma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_magma.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_parula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_parula.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_plasma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_plasma.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_rainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_rainbow.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_red.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_sls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_sls.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_staircase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_staircase.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_standard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_standard.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cmap_viridis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cmap_viridis.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/contour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/contour.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/coords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/coords.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/cyn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/cyn.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/ellipse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/ellipse.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/erase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/erase.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/filter.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/front.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/glvary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/glvary.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/grn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/grn.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/incexl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/incexl.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/lightcurve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/lightcurve.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/lin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/lin.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/log.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/mag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/mag.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/mag_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/mag_minus.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/mag_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/mag_one.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/mag_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/mag_plus.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/match.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/match.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/minus.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/open.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/pan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/pan.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/plus.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/poly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/poly.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/pow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/pow.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/pur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/pur.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/red.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/smooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/smooth.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/spectrum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/spectrum.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/srcbkg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/srcbkg.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/stats.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/text.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/wht.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/wht.png -------------------------------------------------------------------------------- /images/toolbar/dax_images/yel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/dax_images/yel.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/10_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/10_4.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/2_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/2_2.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/5_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/5_5.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/8_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/8_3.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/annulus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/annulus.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/back.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/bin_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/bin_minus.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/bin_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/bin_one.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/bin_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/bin_plus.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/blank.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/blk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/blk.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/blu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/blu.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/box.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/circle.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_a.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_aips0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_aips0.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_b.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_bb.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_blue.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_color.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_cool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_cool.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_green.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_grey.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_he.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_he.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_heat.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_hsv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_hsv.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_i8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_i8.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_inferno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_inferno.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_magma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_magma.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_parula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_parula.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_plasma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_plasma.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_rainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_rainbow.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_red.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_sls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_sls.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_staircase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_staircase.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_standard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_standard.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cmap_viridis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cmap_viridis.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/contour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/contour.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/coords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/coords.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/cyn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/cyn.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/ellipse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/ellipse.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/erase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/erase.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/filter.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/front.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/glvary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/glvary.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/grn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/grn.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/incexl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/incexl.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/lightcurve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/lightcurve.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/lin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/lin.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/log.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/mag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/mag.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/mag_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/mag_minus.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/mag_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/mag_one.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/mag_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/mag_plus.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/match.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/match.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/minus.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/open.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/pan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/pan.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/plus.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/poly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/poly.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/pow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/pow.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/pur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/pur.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/red.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/smooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/smooth.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/spectrum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/spectrum.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/srcbkg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/srcbkg.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/stats.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/text.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/wht.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/wht.png -------------------------------------------------------------------------------- /images/toolbar/odax_images/yel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/odax_images/yel.png -------------------------------------------------------------------------------- /images/toolbar/svg: -------------------------------------------------------------------------------- 1 | ../voyager -------------------------------------------------------------------------------- /images/toolbar/threedots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/toolbar/threedots.png -------------------------------------------------------------------------------- /images/voyager.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager.icns -------------------------------------------------------------------------------- /images/voyager/binning_bin1.svg: -------------------------------------------------------------------------------- 1 | bin1 -------------------------------------------------------------------------------- /images/voyager/binning_bin12.svg: -------------------------------------------------------------------------------- 1 | bin12 -------------------------------------------------------------------------------- /images/voyager/binning_bin2.svg: -------------------------------------------------------------------------------- 1 | bin2 -------------------------------------------------------------------------------- /images/voyager/color_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_a.png -------------------------------------------------------------------------------- /images/voyager/color_aips0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_aips0.png -------------------------------------------------------------------------------- /images/voyager/color_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_b.png -------------------------------------------------------------------------------- /images/voyager/color_bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_bb.png -------------------------------------------------------------------------------- /images/voyager/color_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_blue.png -------------------------------------------------------------------------------- /images/voyager/color_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_color.png -------------------------------------------------------------------------------- /images/voyager/color_cool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_cool.png -------------------------------------------------------------------------------- /images/voyager/color_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_green.png -------------------------------------------------------------------------------- /images/voyager/color_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_grey.png -------------------------------------------------------------------------------- /images/voyager/color_he.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_he.png -------------------------------------------------------------------------------- /images/voyager/color_heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_heat.png -------------------------------------------------------------------------------- /images/voyager/color_hsv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_hsv.png -------------------------------------------------------------------------------- /images/voyager/color_i8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_i8.png -------------------------------------------------------------------------------- /images/voyager/color_inferno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_inferno.png -------------------------------------------------------------------------------- /images/voyager/color_magma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_magma.png -------------------------------------------------------------------------------- /images/voyager/color_parula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_parula.png -------------------------------------------------------------------------------- /images/voyager/color_plasma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_plasma.png -------------------------------------------------------------------------------- /images/voyager/color_rainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_rainbow.png -------------------------------------------------------------------------------- /images/voyager/color_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_red.png -------------------------------------------------------------------------------- /images/voyager/color_sls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_sls.png -------------------------------------------------------------------------------- /images/voyager/color_staircase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_staircase.png -------------------------------------------------------------------------------- /images/voyager/color_standard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_standard.png -------------------------------------------------------------------------------- /images/voyager/color_turbo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_turbo.png -------------------------------------------------------------------------------- /images/voyager/color_viridis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyager/color_viridis.png -------------------------------------------------------------------------------- /images/voyager/regions_annulus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /images/voyager/regions_box.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /images/voyager/regions_circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /images/voyager/regions_cross.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/voyager/regions_ellipse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /images/voyager/regions_line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /images/voyager/regions_point.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /images/voyager/regions_polygon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /images/voyager/regions_text.svg: -------------------------------------------------------------------------------- 1 | txt -------------------------------------------------------------------------------- /images/voyager/zoom_1.svg: -------------------------------------------------------------------------------- 1 | mag1 -------------------------------------------------------------------------------- /images/voyager/zoom_in.svg: -------------------------------------------------------------------------------- 1 | magplus -------------------------------------------------------------------------------- /images/voyager/zoom_mag.svg: -------------------------------------------------------------------------------- 1 | mag -------------------------------------------------------------------------------- /images/voyager/zoom_out.svg: -------------------------------------------------------------------------------- 1 | magminus -------------------------------------------------------------------------------- /images/voyager/zoom_zoom.svg: -------------------------------------------------------------------------------- 1 | mag -------------------------------------------------------------------------------- /images/voyagerlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/images/voyagerlogo.png -------------------------------------------------------------------------------- /js/README: -------------------------------------------------------------------------------- 1 | The following files were minified using the Google Closure Compiler service: 2 | 3 | http://closure-compiler.appspot.com/home 4 | 5 | file date 6 | -------------------------------- ---------- 7 | dhtmlwindow.min.js 02/12/2013 8 | jquery.contextMenu.min.js 02/12/2013 9 | jquery.flot.errorbars.min.js 02/12/2013 10 | jquery.flot.min.js 02/12/2013 11 | sprintf.min.js 02/12/2013 12 | 13 | -------------------------------------------------------------------------------- /js/dhtmlwindow_blurb.js: -------------------------------------------------------------------------------- 1 | /*********************************************** 2 | * DHTML Window Widget- © Dynamic Drive (www.dynamicdrive.com) 3 | * This notice must stay intact for legal use. 4 | * Visit http://www.dynamicdrive.com/ for full source code 5 | ***********************************************/ 6 | -------------------------------------------------------------------------------- /js/fabric.js: -------------------------------------------------------------------------------- 1 | fabric-v5.2.1.js -------------------------------------------------------------------------------- /js/fabric.min.js: -------------------------------------------------------------------------------- 1 | fabric-v5.2.1.min.js -------------------------------------------------------------------------------- /js/gaussblur.min.js: -------------------------------------------------------------------------------- 1 | var gaussBlur=function(){function n(f,g,e,l,a){for(var d=0;dk;k++)c.push(ke&&0 `npm install --save @types/cookie` 3 | 4 | # Summary 5 | This package contains type definitions for cookie (https://github.com/jshttp/cookie). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/cookie. 9 | 10 | ### Additional Details 11 | * Last updated: Tue, 06 Jul 2021 20:32:30 GMT 12 | * Dependencies: none 13 | * Global values: none 14 | 15 | # Credits 16 | These definitions were written by [Pine Mizune](https://github.com/pine), and [Piotr Błażejewicz](https://github.com/peterblazejewicz). 17 | -------------------------------------------------------------------------------- /node_modules/@types/node/assert/strict.d.ts: -------------------------------------------------------------------------------- 1 | declare module "assert/strict" { 2 | import { strict } from "node:assert"; 3 | export = strict; 4 | } 5 | declare module "node:assert/strict" { 6 | import { strict } from "node:assert"; 7 | export = strict; 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/@types/node/constants.d.ts: -------------------------------------------------------------------------------- 1 | /** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */ 2 | declare module "constants" { 3 | import { constants as osConstants, SignalConstants } from "node:os"; 4 | import { constants as cryptoConstants } from "node:crypto"; 5 | import { constants as fsConstants } from "node:fs"; 6 | 7 | const exp: 8 | & typeof osConstants.errno 9 | & typeof osConstants.priority 10 | & SignalConstants 11 | & typeof cryptoConstants 12 | & typeof fsConstants; 13 | export = exp; 14 | } 15 | 16 | declare module "node:constants" { 17 | import constants = require("constants"); 18 | export = constants; 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/@types/node/globals.global.d.ts: -------------------------------------------------------------------------------- 1 | declare var global: typeof globalThis; 2 | -------------------------------------------------------------------------------- /node_modules/@types/node/stream/consumers.d.ts: -------------------------------------------------------------------------------- 1 | declare module "stream/consumers" { 2 | import { Blob as NodeBlob } from "node:buffer"; 3 | import { Readable } from "node:stream"; 4 | function buffer(stream: NodeJS.ReadableStream | Readable | AsyncIterable): Promise; 5 | function text(stream: NodeJS.ReadableStream | Readable | AsyncIterable): Promise; 6 | function arrayBuffer(stream: NodeJS.ReadableStream | Readable | AsyncIterable): Promise; 7 | function blob(stream: NodeJS.ReadableStream | Readable | AsyncIterable): Promise; 8 | function json(stream: NodeJS.ReadableStream | Readable | AsyncIterable): Promise; 9 | } 10 | declare module "node:stream/consumers" { 11 | export * from "stream/consumers"; 12 | } 13 | -------------------------------------------------------------------------------- /node_modules/balanced-match/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | tidelift: "npm/balanced-match" 2 | patreon: juliangruber 3 | -------------------------------------------------------------------------------- /node_modules/base64id/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [2.0.0](https://github.com/faeldt/base64id/compare/1.0.0...2.0.0) (2019-05-27) 2 | 3 | 4 | ### Code Refactoring 5 | 6 | * **buffer:** replace deprecated Buffer constructor usage ([#11](https://github.com/faeldt/base64id/issues/11)) ([ccfba54](https://github.com/faeldt/base64id/commit/ccfba54)) 7 | 8 | 9 | ### BREAKING CHANGES 10 | 11 | * **buffer:** drop support for Node.js ≤ 4.4.x and 5.0.0 - 5.9.x 12 | 13 | See: https://nodejs.org/en/docs/guides/buffer-constructor-deprecation/ 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /node_modules/base64id/README.md: -------------------------------------------------------------------------------- 1 | base64id 2 | ======== 3 | 4 | Node.js module that generates a base64 id. 5 | 6 | Uses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4. 7 | 8 | To increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes. 9 | 10 | ## Installation 11 | 12 | $ npm install base64id 13 | 14 | ## Usage 15 | 16 | var base64id = require('base64id'); 17 | 18 | var id = base64id.generateId(); 19 | -------------------------------------------------------------------------------- /node_modules/concat-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/concat-map/example/map.js: -------------------------------------------------------------------------------- 1 | var concatMap = require('../'); 2 | var xs = [ 1, 2, 3, 4, 5, 6 ]; 3 | var ys = concatMap(xs, function (x) { 4 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; 5 | }); 6 | console.dir(ys); 7 | -------------------------------------------------------------------------------- /node_modules/concat-map/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (xs, fn) { 2 | var res = []; 3 | for (var i = 0; i < xs.length; i++) { 4 | var x = fn(xs[i], i); 5 | if (isArray(x)) res.push.apply(res, x); 6 | else res.push(x); 7 | } 8 | return res; 9 | }; 10 | 11 | var isArray = Array.isArray || function (xs) { 12 | return Object.prototype.toString.call(xs) === '[object Array]'; 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer / nwjs process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/define-lazy-prop/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = (object, propertyName, fn) => { 3 | const define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true}); 4 | 5 | Object.defineProperty(object, propertyName, { 6 | configurable: true, 7 | enumerable: true, 8 | get() { 9 | const result = fn(); 10 | define(result); 11 | return result; 12 | }, 13 | set(value) { 14 | define(value); 15 | } 16 | }); 17 | 18 | return object; 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/browser-entrypoint.d.ts: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | declare const _default: (uri: any, opts: any) => Socket; 3 | export default _default; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/browser-entrypoint.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const socket_js_1 = require("./socket.js"); 4 | exports.default = (uri, opts) => new socket_js_1.Socket(uri, opts); 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/contrib/has-cors.d.ts: -------------------------------------------------------------------------------- 1 | export declare const hasCORS: boolean; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/contrib/has-cors.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.hasCORS = void 0; 4 | // imported from https://github.com/component/has-cors 5 | let value = false; 6 | try { 7 | value = typeof XMLHttpRequest !== 'undefined' && 8 | 'withCredentials' in new XMLHttpRequest(); 9 | } 10 | catch (err) { 11 | // if XMLHttp support is disabled in IE then it will throw 12 | // when trying to create 13 | } 14 | exports.hasCORS = value; 15 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/contrib/parseqs.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Compiles a querystring 3 | * Returns string representation of the object 4 | * 5 | * @param {Object} 6 | * @api private 7 | */ 8 | export declare function encode(obj: any): string; 9 | /** 10 | * Parses a simple querystring into an object 11 | * 12 | * @param {String} qs 13 | * @api private 14 | */ 15 | export declare function decode(qs: any): {}; 16 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/contrib/parseuri.d.ts: -------------------------------------------------------------------------------- 1 | export declare function parse(str: string): any; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/contrib/yeast.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Return a string representing the specified number. 3 | * 4 | * @param {Number} num The number to convert. 5 | * @returns {String} The string representation of the number. 6 | * @api public 7 | */ 8 | export declare function encode(num: any): string; 9 | /** 10 | * Return the integer value specified by the given string. 11 | * 12 | * @param {String} str The string to convert. 13 | * @returns {Number} The integer value represented by the string. 14 | * @api public 15 | */ 16 | export declare function decode(str: any): number; 17 | /** 18 | * Yeast: A tiny growing id generator. 19 | * 20 | * @returns {String} A unique id. 21 | * @api public 22 | */ 23 | export declare function yeast(): string; 24 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/globalThis.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare const globalThisShim: any; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/globalThis.browser.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.globalThisShim = void 0; 4 | exports.globalThisShim = (() => { 5 | if (typeof self !== "undefined") { 6 | return self; 7 | } 8 | else if (typeof window !== "undefined") { 9 | return window; 10 | } 11 | else { 12 | return Function("return this")(); 13 | } 14 | })(); 15 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/globalThis.d.ts: -------------------------------------------------------------------------------- 1 | export declare const globalThisShim: typeof globalThis; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/globalThis.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.globalThisShim = void 0; 4 | exports.globalThisShim = global; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | export { Socket }; 3 | export { SocketOptions } from "./socket.js"; 4 | export declare const protocol: number; 5 | export { Transport, TransportError } from "./transport.js"; 6 | export { transports } from "./transports/index.js"; 7 | export { installTimerFunctions } from "./util.js"; 8 | export { parse } from "./contrib/parseuri.js"; 9 | export { nextTick } from "./transports/websocket-constructor.js"; 10 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-client", 3 | "type": "commonjs", 4 | "browser": { 5 | "ws": false, 6 | "./transports/xmlhttprequest.js": "./transports/xmlhttprequest.browser.js", 7 | "./transports/websocket-constructor.js": "./transports/websocket-constructor.browser.js", 8 | "./globalThis.js": "./globalThis.browser.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling.js"; 2 | import { WS } from "./websocket.js"; 3 | import { WT } from "./webtransport.js"; 4 | export declare const transports: { 5 | websocket: typeof WS; 6 | webtransport: typeof WT; 7 | polling: typeof Polling; 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.transports = void 0; 4 | const polling_js_1 = require("./polling.js"); 5 | const websocket_js_1 = require("./websocket.js"); 6 | const webtransport_js_1 = require("./webtransport.js"); 7 | exports.transports = { 8 | websocket: websocket_js_1.WS, 9 | webtransport: webtransport_js_1.WT, 10 | polling: polling_js_1.Polling, 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/websocket-constructor.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare const nextTick: (cb: any, setTimeoutFn: any) => any; 2 | export declare const WebSocket: any; 3 | export declare const usingBrowserWebSocket = true; 4 | export declare const defaultBinaryType = "arraybuffer"; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/websocket-constructor.d.ts: -------------------------------------------------------------------------------- 1 | export declare const WebSocket: any; 2 | export declare const usingBrowserWebSocket = false; 3 | export declare const defaultBinaryType = "nodebuffer"; 4 | export declare const nextTick: (callback: Function, ...args: any[]) => void; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/websocket-constructor.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importDefault = (this && this.__importDefault) || function (mod) { 3 | return (mod && mod.__esModule) ? mod : { "default": mod }; 4 | }; 5 | Object.defineProperty(exports, "__esModule", { value: true }); 6 | exports.nextTick = exports.defaultBinaryType = exports.usingBrowserWebSocket = exports.WebSocket = void 0; 7 | const ws_1 = __importDefault(require("ws")); 8 | exports.WebSocket = ws_1.default; 9 | exports.usingBrowserWebSocket = false; 10 | exports.defaultBinaryType = "nodebuffer"; 11 | exports.nextTick = process.nextTick; 12 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/webtransport.d.ts: -------------------------------------------------------------------------------- 1 | import { Transport } from "../transport.js"; 2 | import { Packet } from "engine.io-parser"; 3 | export declare class WT extends Transport { 4 | private transport; 5 | private writer; 6 | get name(): string; 7 | protected doOpen(): void; 8 | protected write(packets: Packet[]): void; 9 | protected doClose(): void; 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/xmlhttprequest.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare function XHR(opts: any): any; 2 | export declare function createCookieJar(): void; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/transports/xmlhttprequest.d.ts: -------------------------------------------------------------------------------- 1 | export declare const XHR: any; 2 | export declare function createCookieJar(): CookieJar; 3 | interface Cookie { 4 | name: string; 5 | value: string; 6 | expires?: Date; 7 | } 8 | /** 9 | * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie 10 | */ 11 | export declare function parse(setCookieString: string): Cookie; 12 | export declare class CookieJar { 13 | private cookies; 14 | parseCookies(xhr: any): void; 15 | addCookies(xhr: any): void; 16 | } 17 | export {}; 18 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/cjs/util.d.ts: -------------------------------------------------------------------------------- 1 | export declare function pick(obj: any, ...attr: any[]): any; 2 | export declare function installTimerFunctions(obj: any, opts: any): void; 3 | export declare function byteLength(obj: any): number; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/browser-entrypoint.d.ts: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | declare const _default: (uri: any, opts: any) => Socket; 3 | export default _default; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/browser-entrypoint.js: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | export default (uri, opts) => new Socket(uri, opts); 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/contrib/has-cors.d.ts: -------------------------------------------------------------------------------- 1 | export declare const hasCORS: boolean; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js: -------------------------------------------------------------------------------- 1 | // imported from https://github.com/component/has-cors 2 | let value = false; 3 | try { 4 | value = typeof XMLHttpRequest !== 'undefined' && 5 | 'withCredentials' in new XMLHttpRequest(); 6 | } 7 | catch (err) { 8 | // if XMLHttp support is disabled in IE then it will throw 9 | // when trying to create 10 | } 11 | export const hasCORS = value; 12 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/contrib/parseqs.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Compiles a querystring 3 | * Returns string representation of the object 4 | * 5 | * @param {Object} 6 | * @api private 7 | */ 8 | export declare function encode(obj: any): string; 9 | /** 10 | * Parses a simple querystring into an object 11 | * 12 | * @param {String} qs 13 | * @api private 14 | */ 15 | export declare function decode(qs: any): {}; 16 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/contrib/parseuri.d.ts: -------------------------------------------------------------------------------- 1 | export declare function parse(str: string): any; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/contrib/yeast.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Return a string representing the specified number. 3 | * 4 | * @param {Number} num The number to convert. 5 | * @returns {String} The string representation of the number. 6 | * @api public 7 | */ 8 | export declare function encode(num: any): string; 9 | /** 10 | * Return the integer value specified by the given string. 11 | * 12 | * @param {String} str The string to convert. 13 | * @returns {Number} The integer value represented by the string. 14 | * @api public 15 | */ 16 | export declare function decode(str: any): number; 17 | /** 18 | * Yeast: A tiny growing id generator. 19 | * 20 | * @returns {String} A unique id. 21 | * @api public 22 | */ 23 | export declare function yeast(): string; 24 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/globalThis.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare const globalThisShim: any; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/globalThis.browser.js: -------------------------------------------------------------------------------- 1 | export const globalThisShim = (() => { 2 | if (typeof self !== "undefined") { 3 | return self; 4 | } 5 | else if (typeof window !== "undefined") { 6 | return window; 7 | } 8 | else { 9 | return Function("return this")(); 10 | } 11 | })(); 12 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/globalThis.d.ts: -------------------------------------------------------------------------------- 1 | export declare const globalThisShim: typeof globalThis; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/globalThis.js: -------------------------------------------------------------------------------- 1 | export const globalThisShim = global; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | export { Socket }; 3 | export { SocketOptions } from "./socket.js"; 4 | export declare const protocol: number; 5 | export { Transport, TransportError } from "./transport.js"; 6 | export { transports } from "./transports/index.js"; 7 | export { installTimerFunctions } from "./util.js"; 8 | export { parse } from "./contrib/parseuri.js"; 9 | export { nextTick } from "./transports/websocket-constructor.js"; 10 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/index.js: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | export { Socket }; 3 | export const protocol = Socket.protocol; 4 | export { Transport, TransportError } from "./transport.js"; 5 | export { transports } from "./transports/index.js"; 6 | export { installTimerFunctions } from "./util.js"; 7 | export { parse } from "./contrib/parseuri.js"; 8 | export { nextTick } from "./transports/websocket-constructor.js"; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-client", 3 | "type": "module", 4 | "browser": { 5 | "ws": false, 6 | "./transports/xmlhttprequest.js": "./transports/xmlhttprequest.browser.js", 7 | "./transports/websocket-constructor.js": "./transports/websocket-constructor.browser.js", 8 | "./globalThis.js": "./globalThis.browser.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling.js"; 2 | import { WS } from "./websocket.js"; 3 | import { WT } from "./webtransport.js"; 4 | export declare const transports: { 5 | websocket: typeof WS; 6 | webtransport: typeof WT; 7 | polling: typeof Polling; 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/index.js: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling.js"; 2 | import { WS } from "./websocket.js"; 3 | import { WT } from "./webtransport.js"; 4 | export const transports = { 5 | websocket: WS, 6 | webtransport: WT, 7 | polling: Polling, 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/websocket-constructor.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare const nextTick: (cb: any, setTimeoutFn: any) => any; 2 | export declare const WebSocket: any; 3 | export declare const usingBrowserWebSocket = true; 4 | export declare const defaultBinaryType = "arraybuffer"; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/websocket-constructor.browser.js: -------------------------------------------------------------------------------- 1 | import { globalThisShim as globalThis } from "../globalThis.js"; 2 | export const nextTick = (() => { 3 | const isPromiseAvailable = typeof Promise === "function" && typeof Promise.resolve === "function"; 4 | if (isPromiseAvailable) { 5 | return (cb) => Promise.resolve().then(cb); 6 | } 7 | else { 8 | return (cb, setTimeoutFn) => setTimeoutFn(cb, 0); 9 | } 10 | })(); 11 | export const WebSocket = globalThis.WebSocket || globalThis.MozWebSocket; 12 | export const usingBrowserWebSocket = true; 13 | export const defaultBinaryType = "arraybuffer"; 14 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/websocket-constructor.d.ts: -------------------------------------------------------------------------------- 1 | export declare const WebSocket: any; 2 | export declare const usingBrowserWebSocket = false; 3 | export declare const defaultBinaryType = "nodebuffer"; 4 | export declare const nextTick: (callback: Function, ...args: any[]) => void; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/websocket-constructor.js: -------------------------------------------------------------------------------- 1 | import ws from "ws"; 2 | export const WebSocket = ws; 3 | export const usingBrowserWebSocket = false; 4 | export const defaultBinaryType = "nodebuffer"; 5 | export const nextTick = process.nextTick; 6 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/webtransport.d.ts: -------------------------------------------------------------------------------- 1 | import { Transport } from "../transport.js"; 2 | import { Packet } from "engine.io-parser"; 3 | export declare class WT extends Transport { 4 | private transport; 5 | private writer; 6 | get name(): string; 7 | protected doOpen(): void; 8 | protected write(packets: Packet[]): void; 9 | protected doClose(): void; 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/xmlhttprequest.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare function XHR(opts: any): any; 2 | export declare function createCookieJar(): void; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/xmlhttprequest.browser.js: -------------------------------------------------------------------------------- 1 | // browser shim for xmlhttprequest module 2 | import { hasCORS } from "../contrib/has-cors.js"; 3 | import { globalThisShim as globalThis } from "../globalThis.js"; 4 | export function XHR(opts) { 5 | const xdomain = opts.xdomain; 6 | // XMLHttpRequest can be disabled on IE 7 | try { 8 | if ("undefined" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) { 9 | return new XMLHttpRequest(); 10 | } 11 | } 12 | catch (e) { } 13 | if (!xdomain) { 14 | try { 15 | return new globalThis[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP"); 16 | } 17 | catch (e) { } 18 | } 19 | } 20 | export function createCookieJar() { } 21 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/transports/xmlhttprequest.d.ts: -------------------------------------------------------------------------------- 1 | export declare const XHR: any; 2 | export declare function createCookieJar(): CookieJar; 3 | interface Cookie { 4 | name: string; 5 | value: string; 6 | expires?: Date; 7 | } 8 | /** 9 | * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie 10 | */ 11 | export declare function parse(setCookieString: string): Cookie; 12 | export declare class CookieJar { 13 | private cookies; 14 | parseCookies(xhr: any): void; 15 | addCookies(xhr: any): void; 16 | } 17 | export {}; 18 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm-debug/util.d.ts: -------------------------------------------------------------------------------- 1 | export declare function pick(obj: any, ...attr: any[]): any; 2 | export declare function installTimerFunctions(obj: any, opts: any): void; 3 | export declare function byteLength(obj: any): number; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/browser-entrypoint.d.ts: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | declare const _default: (uri: any, opts: any) => Socket; 3 | export default _default; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/browser-entrypoint.js: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | export default (uri, opts) => new Socket(uri, opts); 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/contrib/has-cors.d.ts: -------------------------------------------------------------------------------- 1 | export declare const hasCORS: boolean; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/contrib/has-cors.js: -------------------------------------------------------------------------------- 1 | // imported from https://github.com/component/has-cors 2 | let value = false; 3 | try { 4 | value = typeof XMLHttpRequest !== 'undefined' && 5 | 'withCredentials' in new XMLHttpRequest(); 6 | } 7 | catch (err) { 8 | // if XMLHttp support is disabled in IE then it will throw 9 | // when trying to create 10 | } 11 | export const hasCORS = value; 12 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/contrib/parseqs.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Compiles a querystring 3 | * Returns string representation of the object 4 | * 5 | * @param {Object} 6 | * @api private 7 | */ 8 | export declare function encode(obj: any): string; 9 | /** 10 | * Parses a simple querystring into an object 11 | * 12 | * @param {String} qs 13 | * @api private 14 | */ 15 | export declare function decode(qs: any): {}; 16 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts: -------------------------------------------------------------------------------- 1 | export declare function parse(str: string): any; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/contrib/yeast.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Return a string representing the specified number. 3 | * 4 | * @param {Number} num The number to convert. 5 | * @returns {String} The string representation of the number. 6 | * @api public 7 | */ 8 | export declare function encode(num: any): string; 9 | /** 10 | * Return the integer value specified by the given string. 11 | * 12 | * @param {String} str The string to convert. 13 | * @returns {Number} The integer value represented by the string. 14 | * @api public 15 | */ 16 | export declare function decode(str: any): number; 17 | /** 18 | * Yeast: A tiny growing id generator. 19 | * 20 | * @returns {String} A unique id. 21 | * @api public 22 | */ 23 | export declare function yeast(): string; 24 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/globalThis.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare const globalThisShim: any; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/globalThis.browser.js: -------------------------------------------------------------------------------- 1 | export const globalThisShim = (() => { 2 | if (typeof self !== "undefined") { 3 | return self; 4 | } 5 | else if (typeof window !== "undefined") { 6 | return window; 7 | } 8 | else { 9 | return Function("return this")(); 10 | } 11 | })(); 12 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/globalThis.d.ts: -------------------------------------------------------------------------------- 1 | export declare const globalThisShim: typeof globalThis; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/globalThis.js: -------------------------------------------------------------------------------- 1 | export const globalThisShim = global; 2 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | export { Socket }; 3 | export { SocketOptions } from "./socket.js"; 4 | export declare const protocol: number; 5 | export { Transport, TransportError } from "./transport.js"; 6 | export { transports } from "./transports/index.js"; 7 | export { installTimerFunctions } from "./util.js"; 8 | export { parse } from "./contrib/parseuri.js"; 9 | export { nextTick } from "./transports/websocket-constructor.js"; 10 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/index.js: -------------------------------------------------------------------------------- 1 | import { Socket } from "./socket.js"; 2 | export { Socket }; 3 | export const protocol = Socket.protocol; 4 | export { Transport, TransportError } from "./transport.js"; 5 | export { transports } from "./transports/index.js"; 6 | export { installTimerFunctions } from "./util.js"; 7 | export { parse } from "./contrib/parseuri.js"; 8 | export { nextTick } from "./transports/websocket-constructor.js"; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-client", 3 | "type": "module", 4 | "browser": { 5 | "ws": false, 6 | "./transports/xmlhttprequest.js": "./transports/xmlhttprequest.browser.js", 7 | "./transports/websocket-constructor.js": "./transports/websocket-constructor.browser.js", 8 | "./globalThis.js": "./globalThis.browser.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling.js"; 2 | import { WS } from "./websocket.js"; 3 | import { WT } from "./webtransport.js"; 4 | export declare const transports: { 5 | websocket: typeof WS; 6 | webtransport: typeof WT; 7 | polling: typeof Polling; 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/index.js: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling.js"; 2 | import { WS } from "./websocket.js"; 3 | import { WT } from "./webtransport.js"; 4 | export const transports = { 5 | websocket: WS, 6 | webtransport: WT, 7 | polling: Polling, 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare const nextTick: (cb: any, setTimeoutFn: any) => any; 2 | export declare const WebSocket: any; 3 | export declare const usingBrowserWebSocket = true; 4 | export declare const defaultBinaryType = "arraybuffer"; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js: -------------------------------------------------------------------------------- 1 | import { globalThisShim as globalThis } from "../globalThis.js"; 2 | export const nextTick = (() => { 3 | const isPromiseAvailable = typeof Promise === "function" && typeof Promise.resolve === "function"; 4 | if (isPromiseAvailable) { 5 | return (cb) => Promise.resolve().then(cb); 6 | } 7 | else { 8 | return (cb, setTimeoutFn) => setTimeoutFn(cb, 0); 9 | } 10 | })(); 11 | export const WebSocket = globalThis.WebSocket || globalThis.MozWebSocket; 12 | export const usingBrowserWebSocket = true; 13 | export const defaultBinaryType = "arraybuffer"; 14 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/websocket-constructor.d.ts: -------------------------------------------------------------------------------- 1 | export declare const WebSocket: any; 2 | export declare const usingBrowserWebSocket = false; 3 | export declare const defaultBinaryType = "nodebuffer"; 4 | export declare const nextTick: (callback: Function, ...args: any[]) => void; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/websocket-constructor.js: -------------------------------------------------------------------------------- 1 | import ws from "ws"; 2 | export const WebSocket = ws; 3 | export const usingBrowserWebSocket = false; 4 | export const defaultBinaryType = "nodebuffer"; 5 | export const nextTick = process.nextTick; 6 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/webtransport.d.ts: -------------------------------------------------------------------------------- 1 | import { Transport } from "../transport.js"; 2 | import { Packet } from "engine.io-parser"; 3 | export declare class WT extends Transport { 4 | private transport; 5 | private writer; 6 | get name(): string; 7 | protected doOpen(): void; 8 | protected write(packets: Packet[]): void; 9 | protected doClose(): void; 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.d.ts: -------------------------------------------------------------------------------- 1 | export declare function XHR(opts: any): any; 2 | export declare function createCookieJar(): void; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js: -------------------------------------------------------------------------------- 1 | // browser shim for xmlhttprequest module 2 | import { hasCORS } from "../contrib/has-cors.js"; 3 | import { globalThisShim as globalThis } from "../globalThis.js"; 4 | export function XHR(opts) { 5 | const xdomain = opts.xdomain; 6 | // XMLHttpRequest can be disabled on IE 7 | try { 8 | if ("undefined" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) { 9 | return new XMLHttpRequest(); 10 | } 11 | } 12 | catch (e) { } 13 | if (!xdomain) { 14 | try { 15 | return new globalThis[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP"); 16 | } 17 | catch (e) { } 18 | } 19 | } 20 | export function createCookieJar() { } 21 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/transports/xmlhttprequest.d.ts: -------------------------------------------------------------------------------- 1 | export declare const XHR: any; 2 | export declare function createCookieJar(): CookieJar; 3 | interface Cookie { 4 | name: string; 5 | value: string; 6 | expires?: Date; 7 | } 8 | /** 9 | * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie 10 | */ 11 | export declare function parse(setCookieString: string): Cookie; 12 | export declare class CookieJar { 13 | private cookies; 14 | parseCookies(xhr: any): void; 15 | addCookies(xhr: any): void; 16 | } 17 | export {}; 18 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/build/esm/util.d.ts: -------------------------------------------------------------------------------- 1 | export declare function pick(obj: any, ...attr: any[]): any; 2 | export declare function installTimerFunctions(obj: any, opts: any): void; 3 | export declare function byteLength(obj: any): number; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/cjs/commons.d.ts: -------------------------------------------------------------------------------- 1 | declare const PACKET_TYPES: any; 2 | declare const PACKET_TYPES_REVERSE: any; 3 | declare const ERROR_PACKET: Packet; 4 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 5 | export declare type PacketType = "open" | "close" | "ping" | "pong" | "message" | "upgrade" | "noop" | "error"; 6 | export declare type RawData = any; 7 | export interface Packet { 8 | type: PacketType; 9 | options?: { 10 | compress: boolean; 11 | }; 12 | data?: RawData; 13 | } 14 | export declare type BinaryType = "nodebuffer" | "arraybuffer" | "blob"; 15 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts: -------------------------------------------------------------------------------- 1 | export declare const encode: (arraybuffer: ArrayBuffer) => string; 2 | export declare const decode: (base64: string) => ArrayBuffer; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/cjs/decodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void | Promise; 4 | export { encodePacket }; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/cjs/encodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | export declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-parser", 3 | "type": "commonjs", 4 | "browser": { 5 | "./encodePacket.js": "./encodePacket.browser.js", 6 | "./decodePacket.js": "./decodePacket.browser.js" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/commons.d.ts: -------------------------------------------------------------------------------- 1 | declare const PACKET_TYPES: any; 2 | declare const PACKET_TYPES_REVERSE: any; 3 | declare const ERROR_PACKET: Packet; 4 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 5 | export declare type PacketType = "open" | "close" | "ping" | "pong" | "message" | "upgrade" | "noop" | "error"; 6 | export declare type RawData = any; 7 | export interface Packet { 8 | type: PacketType; 9 | options?: { 10 | compress: boolean; 11 | }; 12 | data?: RawData; 13 | } 14 | export declare type BinaryType = "nodebuffer" | "arraybuffer" | "blob"; 15 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/commons.js: -------------------------------------------------------------------------------- 1 | const PACKET_TYPES = Object.create(null); // no Map = no polyfill 2 | PACKET_TYPES["open"] = "0"; 3 | PACKET_TYPES["close"] = "1"; 4 | PACKET_TYPES["ping"] = "2"; 5 | PACKET_TYPES["pong"] = "3"; 6 | PACKET_TYPES["message"] = "4"; 7 | PACKET_TYPES["upgrade"] = "5"; 8 | PACKET_TYPES["noop"] = "6"; 9 | const PACKET_TYPES_REVERSE = Object.create(null); 10 | Object.keys(PACKET_TYPES).forEach((key) => { 11 | PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key; 12 | }); 13 | const ERROR_PACKET = { type: "error", data: "parser error" }; 14 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 15 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts: -------------------------------------------------------------------------------- 1 | export declare const encode: (arraybuffer: ArrayBuffer) => string; 2 | export declare const decode: (base64: string) => ArrayBuffer; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/decodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void | Promise; 4 | export { encodePacket }; 5 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/encodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | export declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void; 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/build/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-parser", 3 | "type": "module", 4 | "browser": { 5 | "./encodePacket.js": "./encodePacket.browser.js", 6 | "./decodePacket.js": "./decodePacket.browser.js" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/engine.io/build/parser-v3/utf8.d.ts: -------------------------------------------------------------------------------- 1 | /*! https://mths.be/utf8js v2.1.2 by @mathias */ 2 | declare var stringFromCharCode: (...codes: number[]) => string; 3 | declare function ucs2decode(string: any): any[]; 4 | declare function ucs2encode(array: any): string; 5 | declare function checkScalarValue(codePoint: any, strict: any): boolean; 6 | declare function createByte(codePoint: any, shift: any): string; 7 | declare function encodeCodePoint(codePoint: any, strict: any): string; 8 | declare function utf8encode(string: any, opts: any): string; 9 | declare function readContinuationByte(): number; 10 | declare function decodeSymbol(strict: any): any; 11 | declare var byteArray: any; 12 | declare var byteCount: any; 13 | declare var byteIndex: any; 14 | declare function utf8decode(byteString: any, opts: any): string; 15 | -------------------------------------------------------------------------------- /node_modules/engine.io/build/transports-uws/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling"; 2 | import { WebSocket } from "./websocket"; 3 | declare const _default: { 4 | polling: typeof Polling; 5 | websocket: typeof WebSocket; 6 | }; 7 | export default _default; 8 | -------------------------------------------------------------------------------- /node_modules/engine.io/build/transports-uws/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const polling_1 = require("./polling"); 4 | const websocket_1 = require("./websocket"); 5 | exports.default = { 6 | polling: polling_1.Polling, 7 | websocket: websocket_1.WebSocket, 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/engine.io/build/transports/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling as XHR } from "./polling"; 2 | import { WebSocket } from "./websocket"; 3 | import { WebTransport } from "./webtransport"; 4 | declare const _default: { 5 | polling: typeof polling; 6 | websocket: typeof WebSocket; 7 | webtransport: typeof WebTransport; 8 | }; 9 | export default _default; 10 | /** 11 | * Polling polymorphic constructor. 12 | * 13 | * @api private 14 | */ 15 | declare function polling(req: any): XHR; 16 | declare namespace polling { 17 | var upgradesTo: string[]; 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/engine.io/build/transports/polling-jsonp.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling"; 2 | export declare class JSONP extends Polling { 3 | private readonly head; 4 | private readonly foot; 5 | /** 6 | * JSON-P polling transport. 7 | * 8 | * @api public 9 | */ 10 | constructor(req: any); 11 | /** 12 | * Handles incoming data. 13 | * Due to a bug in \n handling by browsers, we expect a escaped string. 14 | * 15 | * @api private 16 | */ 17 | onData(data: any): void; 18 | /** 19 | * Performs the write. 20 | * 21 | * @api private 22 | */ 23 | doWrite(data: any, options: any, callback: any): void; 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/engine.io/build/transports/webtransport.d.ts: -------------------------------------------------------------------------------- 1 | import { Transport } from "../transport"; 2 | /** 3 | * Reference: https://developer.mozilla.org/en-US/docs/Web/API/WebTransport_API 4 | */ 5 | export declare class WebTransport extends Transport { 6 | private readonly session; 7 | private readonly writer; 8 | constructor(session: any, stream: any, reader: any); 9 | get name(): string; 10 | get supportsFraming(): boolean; 11 | send(packets: any): Promise; 12 | doClose(fn: any): void; 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/engine.io/wrapper.mjs: -------------------------------------------------------------------------------- 1 | export { 2 | Server, 3 | Socket, 4 | Transport, 5 | transports, 6 | listen, 7 | attach, 8 | parser, 9 | protocol, 10 | } from "./build/engine.io.js"; 11 | -------------------------------------------------------------------------------- /node_modules/inflight/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | /* istanbul ignore next */ 4 | if (typeof util.inherits !== 'function') throw ''; 5 | module.exports = util.inherits; 6 | } catch (e) { 7 | /* istanbul ignore next */ 8 | module.exports = require('./inherits_browser.js'); 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/is-docker/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | const isDocker = require('.'); 4 | 5 | process.exitCode = isDocker() ? 0 : 2; 6 | -------------------------------------------------------------------------------- /node_modules/is-docker/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if the process is running inside a Docker container. 3 | 4 | @example 5 | ``` 6 | import isDocker = require('is-docker'); 7 | 8 | if (isDocker()) { 9 | console.log('Running inside a Docker container'); 10 | } 11 | ``` 12 | */ 13 | declare function isDocker(): boolean; 14 | 15 | export = isDocker; 16 | -------------------------------------------------------------------------------- /node_modules/is-docker/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const fs = require('fs'); 3 | 4 | let isDocker; 5 | 6 | function hasDockerEnv() { 7 | try { 8 | fs.statSync('/.dockerenv'); 9 | return true; 10 | } catch (_) { 11 | return false; 12 | } 13 | } 14 | 15 | function hasDockerCGroup() { 16 | try { 17 | return fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker'); 18 | } catch (_) { 19 | return false; 20 | } 21 | } 22 | 23 | module.exports = () => { 24 | if (isDocker === undefined) { 25 | isDocker = hasDockerEnv() || hasDockerCGroup(); 26 | } 27 | 28 | return isDocker; 29 | }; 30 | -------------------------------------------------------------------------------- /node_modules/is-docker/readme.md: -------------------------------------------------------------------------------- 1 | # is-docker [![Build Status](https://travis-ci.com/sindresorhus/is-docker.svg?branch=master)](https://travis-ci.com/github/sindresorhus/is-docker) 2 | 3 | > Check if the process is running inside a Docker container 4 | 5 | ## Install 6 | 7 | ``` 8 | $ npm install is-docker 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```js 14 | const isDocker = require('is-docker'); 15 | 16 | if (isDocker()) { 17 | console.log('Running inside a Docker container'); 18 | } 19 | ``` 20 | 21 | ## CLI 22 | 23 | ``` 24 | $ is-docker 25 | ``` 26 | 27 | Exits with code 0 if inside a Docker container and 2 if not. 28 | -------------------------------------------------------------------------------- /node_modules/is-wsl/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if the process is running inside [Windows Subsystem for Linux](https://msdn.microsoft.com/commandline/wsl/about) (Bash on Windows). 3 | 4 | @example 5 | ``` 6 | import isWsl = require('is-wsl'); 7 | 8 | // When running inside Windows Subsystem for Linux 9 | console.log(isWsl); 10 | //=> true 11 | ``` 12 | */ 13 | declare const isWsl: boolean; 14 | 15 | export = isWsl; 16 | -------------------------------------------------------------------------------- /node_modules/is-wsl/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const os = require('os'); 3 | const fs = require('fs'); 4 | const isDocker = require('is-docker'); 5 | 6 | const isWsl = () => { 7 | if (process.platform !== 'linux') { 8 | return false; 9 | } 10 | 11 | if (os.release().toLowerCase().includes('microsoft')) { 12 | if (isDocker()) { 13 | return false; 14 | } 15 | 16 | return true; 17 | } 18 | 19 | try { 20 | return fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ? 21 | !isDocker() : false; 22 | } catch (_) { 23 | return false; 24 | } 25 | }; 26 | 27 | if (process.env.__IS_WSL_TEST__) { 28 | module.exports = isWsl; 29 | } else { 30 | module.exports = isWsl(); 31 | } 32 | -------------------------------------------------------------------------------- /node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * Copyright(c) 2015-2022 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module exports. 10 | */ 11 | 12 | module.exports = require('./db.json') 13 | -------------------------------------------------------------------------------- /node_modules/minimist/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb/eslint-config/node/0.4", 5 | 6 | "rules": { 7 | "array-element-newline": 0, 8 | "complexity": 0, 9 | "func-style": [2, "declaration"], 10 | "max-lines-per-function": 0, 11 | "max-nested-callbacks": 1, 12 | "max-statements-per-line": 1, 13 | "max-statements": 0, 14 | "multiline-comment-style": 0, 15 | "no-continue": 1, 16 | "no-param-reassign": 1, 17 | "no-restricted-syntax": 1, 18 | "object-curly-newline": 0, 19 | }, 20 | 21 | "overrides": [ 22 | { 23 | "files": "test/**", 24 | "rules": { 25 | "camelcase": 0, 26 | }, 27 | }, 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/minimist/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/minimist 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /node_modules/minimist/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "lines": 86, 6 | "statements": 85.93, 7 | "functions": 82.43, 8 | "branches": 76.06, 9 | "exclude": [ 10 | "coverage", 11 | "example", 12 | "test" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var argv = require('../')(process.argv.slice(2)); 4 | console.log(argv); 5 | -------------------------------------------------------------------------------- /node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('dotted alias', function (t) { 7 | var argv = parse(['--a.b', '22'], { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } }); 8 | t.equal(argv.a.b, 22); 9 | t.equal(argv.aa.bb, 22); 10 | t.end(); 11 | }); 12 | 13 | test('dotted default', function (t) { 14 | var argv = parse('', { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } }); 15 | t.equal(argv.a.b, 11); 16 | t.equal(argv.aa.bb, 11); 17 | t.end(); 18 | }); 19 | 20 | test('dotted default with no alias', function (t) { 21 | var argv = parse('', { default: { 'a.b': 11 } }); 22 | t.equal(argv.a.b, 11); 23 | t.end(); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var parse = require('../'); 5 | 6 | test('long opts', function (t) { 7 | t.deepEqual( 8 | parse(['--bool']), 9 | { bool: true, _: [] }, 10 | 'long boolean' 11 | ); 12 | t.deepEqual( 13 | parse(['--pow', 'xixxle']), 14 | { pow: 'xixxle', _: [] }, 15 | 'long capture sp' 16 | ); 17 | t.deepEqual( 18 | parse(['--pow=xixxle']), 19 | { pow: 'xixxle', _: [] }, 20 | 'long capture eq' 21 | ); 22 | t.deepEqual( 23 | parse(['--host', 'localhost', '--port', '555']), 24 | { host: 'localhost', port: 555, _: [] }, 25 | 'long captures sp' 26 | ); 27 | t.deepEqual( 28 | parse(['--host=localhost', '--port=555']), 29 | { host: 'localhost', port: 555, _: [] }, 30 | 'long captures eq' 31 | ); 32 | t.end(); 33 | }); 34 | -------------------------------------------------------------------------------- /node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('parse with modifier functions', function (t) { 7 | t.plan(1); 8 | 9 | var argv = parse(['-b', '123'], { boolean: 'b' }); 10 | t.deepEqual(argv, { b: true, _: [123] }); 11 | }); 12 | -------------------------------------------------------------------------------- /node_modules/minimist/test/stop_early.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('stops parsing on the first non-option when stopEarly is set', function (t) { 7 | var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { 8 | stopEarly: true, 9 | }); 10 | 11 | t.deepEqual(argv, { 12 | aaa: 'bbb', 13 | _: ['ccc', '--ddd'], 14 | }); 15 | 16 | t.end(); 17 | }); 18 | -------------------------------------------------------------------------------- /node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('whitespace should be whitespace', function (t) { 7 | t.plan(1); 8 | var x = parse(['-x', '\t']).x; 9 | t.equal(x, '\t'); 10 | }); 11 | -------------------------------------------------------------------------------- /node_modules/path-is-absolute/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function posix(path) { 4 | return path.charAt(0) === '/'; 5 | } 6 | 7 | function win32(path) { 8 | // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 9 | var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; 10 | var result = splitDeviceRe.exec(path); 11 | var device = result[1] || ''; 12 | var isUnc = Boolean(device && device.charAt(1) !== ':'); 13 | 14 | // UNC paths are always absolute 15 | return Boolean(result[2] || isUnc); 16 | } 17 | 18 | module.exports = process.platform === 'win32' ? win32 : posix; 19 | module.exports.posix = posix; 20 | module.exports.win32 = win32; 21 | -------------------------------------------------------------------------------- /node_modules/ps-list/vendor/fastlist-0.3.0-x64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/node_modules/ps-list/vendor/fastlist-0.3.0-x64.exe -------------------------------------------------------------------------------- /node_modules/ps-list/vendor/fastlist-0.3.0-x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/node_modules/ps-list/vendor/fastlist-0.3.0-x86.exe -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # socket.io-adapter 3 | 4 | Default socket.io in-memory adapter class. 5 | 6 | Compatibility table: 7 | 8 | | Adapter version | Socket.IO server version | 9 | |-----------------| ------------------------ | 10 | | 1.x.x | 1.x.x / 2.x.x | 11 | | 2.x.x | 3.x.x | 12 | 13 | ## How to use 14 | 15 | This module is not intended for end-user usage, but can be used as an 16 | interface to inherit from other adapters you might want to build. 17 | 18 | As an example of an adapter that builds on top of this, please take a look 19 | at [socket.io-redis](https://github.com/learnboost/socket.io-redis). 20 | 21 | ## License 22 | 23 | MIT 24 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/dist/contrib/yeast.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Return a string representing the specified number. 3 | * 4 | * @param {Number} num The number to convert. 5 | * @returns {String} The string representation of the number. 6 | * @api public 7 | */ 8 | export declare function encode(num: any): string; 9 | /** 10 | * Return the integer value specified by the given string. 11 | * 12 | * @param {String} str The string to convert. 13 | * @returns {Number} The integer value represented by the string. 14 | * @api public 15 | */ 16 | export declare function decode(str: any): number; 17 | /** 18 | * Yeast: A tiny growing id generator. 19 | * 20 | * @returns {String} A unique id. 21 | * @api public 22 | */ 23 | export declare function yeast(): string; 24 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | export { SocketId, PrivateSessionId, Room, BroadcastFlags, BroadcastOptions, Session, Adapter, SessionAwareAdapter, } from "./in-memory-adapter"; 2 | export { ClusterAdapter, ClusterAdapterWithHeartbeat, ClusterAdapterOptions, ClusterMessage, ClusterResponse, MessageType, ServerId, Offset, } from "./cluster-adapter"; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/cjs/browser-entrypoint.d.ts: -------------------------------------------------------------------------------- 1 | import { io } from "./index.js"; 2 | export default io; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/cjs/browser-entrypoint.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const index_js_1 = require("./index.js"); 4 | exports.default = index_js_1.io; 5 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/cjs/contrib/backo2.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Initialize backoff timer with `opts`. 3 | * 4 | * - `min` initial timeout in milliseconds [100] 5 | * - `max` max timeout [10000] 6 | * - `jitter` [0] 7 | * - `factor` [2] 8 | * 9 | * @param {Object} opts 10 | * @api public 11 | */ 12 | export declare function Backoff(opts: any): void; 13 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/cjs/on.d.ts: -------------------------------------------------------------------------------- 1 | import { Emitter } from "@socket.io/component-emitter"; 2 | export declare function on(obj: Emitter, ev: string, fn: (err?: any) => any): VoidFunction; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/cjs/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.on = void 0; 4 | function on(obj, ev, fn) { 5 | obj.on(ev, fn); 6 | return function subDestroy() { 7 | obj.off(ev, fn); 8 | }; 9 | } 10 | exports.on = on; 11 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm-debug/browser-entrypoint.d.ts: -------------------------------------------------------------------------------- 1 | import { io } from "./index.js"; 2 | export default io; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm-debug/browser-entrypoint.js: -------------------------------------------------------------------------------- 1 | import { io } from "./index.js"; 2 | export default io; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm-debug/contrib/backo2.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Initialize backoff timer with `opts`. 3 | * 4 | * - `min` initial timeout in milliseconds [100] 5 | * - `max` max timeout [10000] 6 | * - `jitter` [0] 7 | * - `factor` [2] 8 | * 9 | * @param {Object} opts 10 | * @api public 11 | */ 12 | export declare function Backoff(opts: any): void; 13 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm-debug/on.d.ts: -------------------------------------------------------------------------------- 1 | import { Emitter } from "@socket.io/component-emitter"; 2 | export declare function on(obj: Emitter, ev: string, fn: (err?: any) => any): VoidFunction; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm-debug/on.js: -------------------------------------------------------------------------------- 1 | export function on(obj, ev, fn) { 2 | obj.on(ev, fn); 3 | return function subDestroy() { 4 | obj.off(ev, fn); 5 | }; 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm-debug/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "socket.io-client", 3 | "version": "4.7.5", 4 | "type": "module" 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm/browser-entrypoint.d.ts: -------------------------------------------------------------------------------- 1 | import { io } from "./index.js"; 2 | export default io; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm/browser-entrypoint.js: -------------------------------------------------------------------------------- 1 | import { io } from "./index.js"; 2 | export default io; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm/contrib/backo2.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Initialize backoff timer with `opts`. 3 | * 4 | * - `min` initial timeout in milliseconds [100] 5 | * - `max` max timeout [10000] 6 | * - `jitter` [0] 7 | * - `factor` [2] 8 | * 9 | * @param {Object} opts 10 | * @api public 11 | */ 12 | export declare function Backoff(opts: any): void; 13 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm/on.d.ts: -------------------------------------------------------------------------------- 1 | import { Emitter } from "@socket.io/component-emitter"; 2 | export declare function on(obj: Emitter, ev: string, fn: (err?: any) => any): VoidFunction; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm/on.js: -------------------------------------------------------------------------------- 1 | export function on(obj, ev, fn) { 2 | obj.on(ev, fn); 3 | return function subDestroy() { 4 | obj.off(ev, fn); 5 | }; 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/build/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "socket.io-client", 3 | "version": "4.7.5", 4 | "type": "module" 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/cjs/binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder. 3 | * 4 | * @param {Object} packet - socket.io event packet 5 | * @return {Object} with deconstructed packet and list of buffers 6 | * @public 7 | */ 8 | export declare function deconstructPacket(packet: any): { 9 | packet: any; 10 | buffers: any[]; 11 | }; 12 | /** 13 | * Reconstructs a binary packet from its placeholder packet and buffers 14 | * 15 | * @param {Object} packet - event packet with placeholders 16 | * @param {Array} buffers - binary buffers to put in placeholder positions 17 | * @return {Object} reconstructed packet 18 | * @public 19 | */ 20 | export declare function reconstructPacket(packet: any, buffers: any): any; 21 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/cjs/is-binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File. 3 | * 4 | * @private 5 | */ 6 | export declare function isBinary(obj: any): boolean; 7 | export declare function hasBinary(obj: any, toJSON?: boolean): any; 8 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/esm-debug/binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder. 3 | * 4 | * @param {Object} packet - socket.io event packet 5 | * @return {Object} with deconstructed packet and list of buffers 6 | * @public 7 | */ 8 | export declare function deconstructPacket(packet: any): { 9 | packet: any; 10 | buffers: any[]; 11 | }; 12 | /** 13 | * Reconstructs a binary packet from its placeholder packet and buffers 14 | * 15 | * @param {Object} packet - event packet with placeholders 16 | * @param {Array} buffers - binary buffers to put in placeholder positions 17 | * @return {Object} reconstructed packet 18 | * @public 19 | */ 20 | export declare function reconstructPacket(packet: any, buffers: any): any; 21 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File. 3 | * 4 | * @private 5 | */ 6 | export declare function isBinary(obj: any): boolean; 7 | export declare function hasBinary(obj: any, toJSON?: boolean): any; 8 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/esm-debug/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/esm/binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder. 3 | * 4 | * @param {Object} packet - socket.io event packet 5 | * @return {Object} with deconstructed packet and list of buffers 6 | * @public 7 | */ 8 | export declare function deconstructPacket(packet: any): { 9 | packet: any; 10 | buffers: any[]; 11 | }; 12 | /** 13 | * Reconstructs a binary packet from its placeholder packet and buffers 14 | * 15 | * @param {Object} packet - event packet with placeholders 16 | * @param {Array} buffers - binary buffers to put in placeholder positions 17 | * @return {Object} reconstructed packet 18 | * @public 19 | */ 20 | export declare function reconstructPacket(packet: any, buffers: any): any; 21 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/esm/is-binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File. 3 | * 4 | * @private 5 | */ 6 | export declare function isBinary(obj: any): boolean; 7 | export declare function hasBinary(obj: any, toJSON?: boolean): any; 8 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/build/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/dist/uws.d.ts: -------------------------------------------------------------------------------- 1 | export declare function patchAdapter(app: any): void; 2 | export declare function restoreAdapter(): void; 3 | export declare function serveFile(res: any, filepath: string): void; 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import io from "./dist/index.js"; 2 | 3 | export const {Server, Namespace, Socket} = io; 4 | -------------------------------------------------------------------------------- /node_modules/undici-types/README.md: -------------------------------------------------------------------------------- 1 | # undici-types 2 | 3 | This package is a dual-publish of the [undici](https://www.npmjs.com/package/undici) library types. The `undici` package **still contains types**. This package is for users who _only_ need undici types (such as for `@types/node`). It is published alongside every release of `undici`, so you can always use the same version. 4 | 5 | - [GitHub nodejs/undici](https://github.com/nodejs/undici) 6 | - [Undici Documentation](https://undici.nodejs.org/#/) 7 | -------------------------------------------------------------------------------- /node_modules/undici-types/balanced-pool.d.ts: -------------------------------------------------------------------------------- 1 | import Pool from './pool' 2 | import Dispatcher from './dispatcher' 3 | import { URL } from 'url' 4 | 5 | export default BalancedPool 6 | 7 | declare class BalancedPool extends Dispatcher { 8 | constructor(url: string | string[] | URL | URL[], options?: Pool.Options); 9 | 10 | addUpstream(upstream: string | URL): BalancedPool; 11 | removeUpstream(upstream: string | URL): BalancedPool; 12 | upstreams: Array; 13 | 14 | /** `true` after `pool.close()` has been called. */ 15 | closed: boolean; 16 | /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */ 17 | destroyed: boolean; 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/undici-types/content-type.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | interface MIMEType { 4 | type: string 5 | subtype: string 6 | parameters: Map 7 | essence: string 8 | } 9 | 10 | /** 11 | * Parse a string to a {@link MIMEType} object. Returns `failure` if the string 12 | * couldn't be parsed. 13 | * @see https://mimesniff.spec.whatwg.org/#parse-a-mime-type 14 | */ 15 | export function parseMIMEType (input: string): 'failure' | MIMEType 16 | 17 | /** 18 | * Convert a MIMEType object to a string. 19 | * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type 20 | */ 21 | export function serializeAMimeType (mimeType: MIMEType): string 22 | -------------------------------------------------------------------------------- /node_modules/undici-types/cookies.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import type { Headers } from './fetch' 4 | 5 | export interface Cookie { 6 | name: string 7 | value: string 8 | expires?: Date | number 9 | maxAge?: number 10 | domain?: string 11 | path?: string 12 | secure?: boolean 13 | httpOnly?: boolean 14 | sameSite?: 'Strict' | 'Lax' | 'None' 15 | unparsed?: string[] 16 | } 17 | 18 | export function deleteCookie ( 19 | headers: Headers, 20 | name: string, 21 | attributes?: { name?: string, domain?: string } 22 | ): void 23 | 24 | export function getCookies (headers: Headers): Record 25 | 26 | export function getSetCookies (headers: Headers): Cookie[] 27 | 28 | export function setCookie (headers: Headers, cookie: Cookie): void 29 | -------------------------------------------------------------------------------- /node_modules/undici-types/global-dispatcher.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | export { 4 | getGlobalDispatcher, 5 | setGlobalDispatcher 6 | } 7 | 8 | declare function setGlobalDispatcher(dispatcher: DispatcherImplementation): void; 9 | declare function getGlobalDispatcher(): Dispatcher; 10 | -------------------------------------------------------------------------------- /node_modules/undici-types/global-origin.d.ts: -------------------------------------------------------------------------------- 1 | export { 2 | setGlobalOrigin, 3 | getGlobalOrigin 4 | } 5 | 6 | declare function setGlobalOrigin(origin: string | URL | undefined): void; 7 | declare function getGlobalOrigin(): URL | undefined; -------------------------------------------------------------------------------- /node_modules/undici-types/handlers.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | export declare class RedirectHandler implements Dispatcher.DispatchHandlers{ 4 | constructor (dispatch: Dispatcher, maxRedirections: number, opts: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandlers) 5 | } 6 | 7 | export declare class DecoratorHandler implements Dispatcher.DispatchHandlers{ 8 | constructor (handler: Dispatcher.DispatchHandlers) 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/undici-types/header.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * The header type declaration of `undici`. 3 | */ 4 | export type IncomingHttpHeaders = Record; 5 | -------------------------------------------------------------------------------- /node_modules/undici-types/interceptors.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | type RedirectInterceptorOpts = { maxRedirections?: number } 4 | 5 | export declare function createRedirectInterceptor (opts: RedirectInterceptorOpts): Dispatcher.DispatchInterceptor 6 | -------------------------------------------------------------------------------- /node_modules/undici-types/mock-errors.d.ts: -------------------------------------------------------------------------------- 1 | import Errors from './errors' 2 | 3 | export default MockErrors 4 | 5 | declare namespace MockErrors { 6 | /** The request does not match any registered mock dispatches. */ 7 | export class MockNotMatchedError extends Errors.UndiciError { 8 | constructor(message?: string); 9 | name: 'MockNotMatchedError'; 10 | code: 'UND_MOCK_ERR_MOCK_NOT_MATCHED'; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /node_modules/undici-types/pool-stats.d.ts: -------------------------------------------------------------------------------- 1 | import Pool from "./pool" 2 | 3 | export default PoolStats 4 | 5 | declare class PoolStats { 6 | constructor(pool: Pool); 7 | /** Number of open socket connections in this pool. */ 8 | connected: number; 9 | /** Number of open socket connections in this pool that do not have an active request. */ 10 | free: number; 11 | /** Number of pending requests across all clients in this pool. */ 12 | pending: number; 13 | /** Number of queued requests across all clients in this pool. */ 14 | queued: number; 15 | /** Number of currently active requests across all clients in this pool. */ 16 | running: number; 17 | /** Number of active, pending, or queued requests across all clients in this pool. */ 18 | size: number; 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/uuid/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Please feel free to file GitHub Issues or propose Pull Requests. We're always happy to discuss improvements to this library! 4 | 5 | ## Testing 6 | 7 | ```shell 8 | npm test 9 | ``` 10 | 11 | ## Releasing 12 | 13 | Releases are supposed to be done from master, version bumping is automated through [`standard-version`](https://github.com/conventional-changelog/standard-version): 14 | 15 | ```shell 16 | npm run release -- --dry-run # verify output manually 17 | npm run release # follow the instructions from the output of this command 18 | ``` 19 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/bin/uuid: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require('../uuid-bin'); 3 | -------------------------------------------------------------------------------- /node_modules/uuid/dist/commonjs-browser/native.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 8 | var _default = { 9 | randomUUID 10 | }; 11 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/commonjs-browser/nil.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = '00000000-0000-0000-0000-000000000000'; 8 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/commonjs-browser/regex.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; 8 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/commonjs-browser/v3.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _md = _interopRequireDefault(require("./md5.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v3 = (0, _v.default)('v3', 0x30, _md.default); 15 | var _default = v3; 16 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/commonjs-browser/v5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _sha = _interopRequireDefault(require("./sha1.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v5 = (0, _v.default)('v5', 0x50, _sha.default); 15 | var _default = v5; 16 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/commonjs-browser/validate.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _regex = _interopRequireDefault(require("./regex.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function validate(uuid) { 13 | return typeof uuid === 'string' && _regex.default.test(uuid); 14 | } 15 | 16 | var _default = validate; 17 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/commonjs-browser/version.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _validate = _interopRequireDefault(require("./validate.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function version(uuid) { 13 | if (!(0, _validate.default)(uuid)) { 14 | throw TypeError('Invalid UUID'); 15 | } 16 | 17 | return parseInt(uuid.slice(14, 15), 16); 18 | } 19 | 20 | var _default = version; 21 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/index.js: -------------------------------------------------------------------------------- 1 | export { default as v1 } from './v1.js'; 2 | export { default as v3 } from './v3.js'; 3 | export { default as v4 } from './v4.js'; 4 | export { default as v5 } from './v5.js'; 5 | export { default as NIL } from './nil.js'; 6 | export { default as version } from './version.js'; 7 | export { default as validate } from './validate.js'; 8 | export { default as stringify } from './stringify.js'; 9 | export { default as parse } from './parse.js'; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/native.js: -------------------------------------------------------------------------------- 1 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 2 | export default { 3 | randomUUID 4 | }; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/nil.js: -------------------------------------------------------------------------------- 1 | export default '00000000-0000-0000-0000-000000000000'; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/regex.js: -------------------------------------------------------------------------------- 1 | export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v3.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import md5 from './md5.js'; 3 | const v3 = v35('v3', 0x30, md5); 4 | export default v3; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/v5.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import sha1 from './sha1.js'; 3 | const v5 = v35('v5', 0x50, sha1); 4 | export default v5; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/validate.js: -------------------------------------------------------------------------------- 1 | import REGEX from './regex.js'; 2 | 3 | function validate(uuid) { 4 | return typeof uuid === 'string' && REGEX.test(uuid); 5 | } 6 | 7 | export default validate; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-browser/version.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | 3 | function version(uuid) { 4 | if (!validate(uuid)) { 5 | throw TypeError('Invalid UUID'); 6 | } 7 | 8 | return parseInt(uuid.slice(14, 15), 16); 9 | } 10 | 11 | export default version; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/index.js: -------------------------------------------------------------------------------- 1 | export { default as v1 } from './v1.js'; 2 | export { default as v3 } from './v3.js'; 3 | export { default as v4 } from './v4.js'; 4 | export { default as v5 } from './v5.js'; 5 | export { default as NIL } from './nil.js'; 6 | export { default as version } from './version.js'; 7 | export { default as validate } from './validate.js'; 8 | export { default as stringify } from './stringify.js'; 9 | export { default as parse } from './parse.js'; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/md5.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | 3 | function md5(bytes) { 4 | if (Array.isArray(bytes)) { 5 | bytes = Buffer.from(bytes); 6 | } else if (typeof bytes === 'string') { 7 | bytes = Buffer.from(bytes, 'utf8'); 8 | } 9 | 10 | return crypto.createHash('md5').update(bytes).digest(); 11 | } 12 | 13 | export default md5; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/native.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | export default { 3 | randomUUID: crypto.randomUUID 4 | }; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/nil.js: -------------------------------------------------------------------------------- 1 | export default '00000000-0000-0000-0000-000000000000'; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/regex.js: -------------------------------------------------------------------------------- 1 | export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/rng.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate 3 | 4 | let poolPtr = rnds8Pool.length; 5 | export default function rng() { 6 | if (poolPtr > rnds8Pool.length - 16) { 7 | crypto.randomFillSync(rnds8Pool); 8 | poolPtr = 0; 9 | } 10 | 11 | return rnds8Pool.slice(poolPtr, poolPtr += 16); 12 | } -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/sha1.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | 3 | function sha1(bytes) { 4 | if (Array.isArray(bytes)) { 5 | bytes = Buffer.from(bytes); 6 | } else if (typeof bytes === 'string') { 7 | bytes = Buffer.from(bytes, 'utf8'); 8 | } 9 | 10 | return crypto.createHash('sha1').update(bytes).digest(); 11 | } 12 | 13 | export default sha1; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/v3.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import md5 from './md5.js'; 3 | const v3 = v35('v3', 0x30, md5); 4 | export default v3; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/v4.js: -------------------------------------------------------------------------------- 1 | import native from './native.js'; 2 | import rng from './rng.js'; 3 | import { unsafeStringify } from './stringify.js'; 4 | 5 | function v4(options, buf, offset) { 6 | if (native.randomUUID && !buf && !options) { 7 | return native.randomUUID(); 8 | } 9 | 10 | options = options || {}; 11 | const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 12 | 13 | rnds[6] = rnds[6] & 0x0f | 0x40; 14 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided 15 | 16 | if (buf) { 17 | offset = offset || 0; 18 | 19 | for (let i = 0; i < 16; ++i) { 20 | buf[offset + i] = rnds[i]; 21 | } 22 | 23 | return buf; 24 | } 25 | 26 | return unsafeStringify(rnds); 27 | } 28 | 29 | export default v4; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/v5.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import sha1 from './sha1.js'; 3 | const v5 = v35('v5', 0x50, sha1); 4 | export default v5; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/validate.js: -------------------------------------------------------------------------------- 1 | import REGEX from './regex.js'; 2 | 3 | function validate(uuid) { 4 | return typeof uuid === 'string' && REGEX.test(uuid); 5 | } 6 | 7 | export default validate; -------------------------------------------------------------------------------- /node_modules/uuid/dist/esm-node/version.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | 3 | function version(uuid) { 4 | if (!validate(uuid)) { 5 | throw TypeError('Invalid UUID'); 6 | } 7 | 8 | return parseInt(uuid.slice(14, 15), 16); 9 | } 10 | 11 | export default version; -------------------------------------------------------------------------------- /node_modules/uuid/dist/md5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function md5(bytes) { 13 | if (Array.isArray(bytes)) { 14 | bytes = Buffer.from(bytes); 15 | } else if (typeof bytes === 'string') { 16 | bytes = Buffer.from(bytes, 'utf8'); 17 | } 18 | 19 | return _crypto.default.createHash('md5').update(bytes).digest(); 20 | } 21 | 22 | var _default = md5; 23 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/native-browser.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 8 | var _default = { 9 | randomUUID 10 | }; 11 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/native.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | var _default = { 13 | randomUUID: _crypto.default.randomUUID 14 | }; 15 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/nil.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = '00000000-0000-0000-0000-000000000000'; 8 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/regex.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; 8 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/rng.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = rng; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate 13 | 14 | let poolPtr = rnds8Pool.length; 15 | 16 | function rng() { 17 | if (poolPtr > rnds8Pool.length - 16) { 18 | _crypto.default.randomFillSync(rnds8Pool); 19 | 20 | poolPtr = 0; 21 | } 22 | 23 | return rnds8Pool.slice(poolPtr, poolPtr += 16); 24 | } -------------------------------------------------------------------------------- /node_modules/uuid/dist/sha1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function sha1(bytes) { 13 | if (Array.isArray(bytes)) { 14 | bytes = Buffer.from(bytes); 15 | } else if (typeof bytes === 'string') { 16 | bytes = Buffer.from(bytes, 'utf8'); 17 | } 18 | 19 | return _crypto.default.createHash('sha1').update(bytes).digest(); 20 | } 21 | 22 | var _default = sha1; 23 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/v3.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _md = _interopRequireDefault(require("./md5.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v3 = (0, _v.default)('v3', 0x30, _md.default); 15 | var _default = v3; 16 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/v5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _sha = _interopRequireDefault(require("./sha1.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v5 = (0, _v.default)('v5', 0x50, _sha.default); 15 | var _default = v5; 16 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/validate.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _regex = _interopRequireDefault(require("./regex.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function validate(uuid) { 13 | return typeof uuid === 'string' && _regex.default.test(uuid); 14 | } 15 | 16 | var _default = validate; 17 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/dist/version.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _validate = _interopRequireDefault(require("./validate.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function version(uuid) { 13 | if (!(0, _validate.default)(uuid)) { 14 | throw TypeError('Invalid UUID'); 15 | } 16 | 17 | return parseInt(uuid.slice(14, 15), 16); 18 | } 19 | 20 | var _default = version; 21 | exports.default = _default; -------------------------------------------------------------------------------- /node_modules/uuid/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import uuid from './dist/index.js'; 2 | export const v1 = uuid.v1; 3 | export const v3 = uuid.v3; 4 | export const v4 = uuid.v4; 5 | export const v5 = uuid.v5; 6 | export const NIL = uuid.NIL; 7 | export const version = uuid.version; 8 | export const validate = uuid.validate; 9 | export const stringify = uuid.stringify; 10 | export const parse = uuid.parse; 11 | -------------------------------------------------------------------------------- /node_modules/ws/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function () { 4 | throw new Error( 5 | 'ws does not work in the browser. Browser clients must use the native ' + 6 | 'WebSocket object' 7 | ); 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/ws/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const WebSocket = require('./lib/websocket'); 4 | 5 | WebSocket.createWebSocketStream = require('./lib/stream'); 6 | WebSocket.Server = require('./lib/websocket-server'); 7 | WebSocket.Receiver = require('./lib/receiver'); 8 | WebSocket.Sender = require('./lib/sender'); 9 | 10 | WebSocket.WebSocket = WebSocket; 11 | WebSocket.WebSocketServer = WebSocket.Server; 12 | 13 | module.exports = WebSocket; 14 | -------------------------------------------------------------------------------- /node_modules/ws/lib/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'], 5 | EMPTY_BUFFER: Buffer.alloc(0), 6 | GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', 7 | kForOnEventAttribute: Symbol('kIsForOnEventAttribute'), 8 | kListener: Symbol('kListener'), 9 | kStatusCode: Symbol('status-code'), 10 | kWebSocket: Symbol('websocket'), 11 | NOOP: () => {} 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/ws/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import createWebSocketStream from './lib/stream.js'; 2 | import Receiver from './lib/receiver.js'; 3 | import Sender from './lib/sender.js'; 4 | import WebSocket from './lib/websocket.js'; 5 | import WebSocketServer from './lib/websocket-server.js'; 6 | 7 | export { createWebSocketStream, Receiver, Sender, WebSocket, WebSocketServer }; 8 | export default WebSocket; 9 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest-ssl/autotest.watchr: -------------------------------------------------------------------------------- 1 | def run_all_tests 2 | puts `clear` 3 | puts `node tests/test-constants.js` 4 | puts `node tests/test-headers.js` 5 | puts `node tests/test-request.js` 6 | end 7 | watch('.*.js') { run_all_tests } 8 | run_all_tests 9 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest-ssl/example/demo.js: -------------------------------------------------------------------------------- 1 | var sys = require('util'); 2 | var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; 3 | 4 | var xhr = new XMLHttpRequest(); 5 | 6 | xhr.onreadystatechange = function() { 7 | console.log("State: " + this.readyState); 8 | 9 | if (this.readyState == 4) { 10 | console.log("Complete.\nBody length: " + this.responseText.length); 11 | console.log("Body:\n" + this.responseText); 12 | } 13 | }; 14 | 15 | xhr.open("GET", "http://driverdan.com"); 16 | xhr.send(); 17 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest-ssl/tests/test-constants.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr = new XMLHttpRequest(); 5 | 6 | // Test constant values 7 | assert.equal(0, xhr.UNSENT); 8 | assert.equal(1, xhr.OPENED); 9 | assert.equal(2, xhr.HEADERS_RECEIVED); 10 | assert.equal(3, xhr.LOADING); 11 | assert.equal(4, xhr.DONE); 12 | 13 | console.log("done"); 14 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest-ssl/tests/testdata.txt: -------------------------------------------------------------------------------- 1 | Hello World -------------------------------------------------------------------------------- /plugins/archive/README: -------------------------------------------------------------------------------- 1 | original source: https://github.com/jbroll/js9archive 2 | -------------------------------------------------------------------------------- /plugins/core/cmaps.css: -------------------------------------------------------------------------------- 1 | div.JS9CmapsContainer { 2 | padding: 2px; 3 | overflow: auto; 4 | } 5 | 6 | div.JS9CmapsHeader { 7 | border: 0px solid black; 8 | background: #E9E9E9; 9 | padding: 0px; 10 | margin-left: 15px; 11 | margin-top: 5px; 12 | margin-right: 5px; 13 | margin-bottom: 0px; 14 | } 15 | 16 | div.JS9CmapsImage { 17 | margin: 5px; 18 | background: #E9E9E9; 19 | overflow: auto; 20 | } 21 | 22 | div.JS9CmapsImageInactive { 23 | padding: 10px; 24 | border: 1px solid black; 25 | } 26 | 27 | div.JS9CmapsImageActive { 28 | padding: 9px; 29 | border: 2px solid #00F000; 30 | } 31 | 32 | div.JS9cmapsNoFile { 33 | padding: 15px; 34 | } 35 | -------------------------------------------------------------------------------- /plugins/core/colorbar.css: -------------------------------------------------------------------------------- 1 | canvas.JS9ColorbarCanvas { 2 | border: 1px solid black; 3 | } 4 | 5 | canvas.JS9ColorbarTextCanvas { 6 | background-color: white; 7 | } 8 | 9 | 10 | -------------------------------------------------------------------------------- /plugins/core/cube.css: -------------------------------------------------------------------------------- 1 | .JS9CubeContainer { 2 | padding: 5px; 3 | } 4 | 5 | .JS9CubeLinegroup { 6 | float: left; 7 | position: relative; 8 | top: 0px; 9 | left: 0px; 10 | width: 95%; 11 | padding: 5px; 12 | margin: 5px; 13 | } 14 | 15 | .JS9CubeRangeLine { 16 | font-size: 9pt; 17 | } 18 | 19 | .JS9CubeRange { 20 | vertical-align: middle; 21 | } 22 | 23 | .JS9CubeValue { 24 | vertical-align: top; 25 | text-align: center; 26 | } 27 | 28 | .JS9CubeValue2 { 29 | vertical-align: top; 30 | text-align: center; 31 | } 32 | 33 | .JS9CubeOrder { 34 | vertical-align: top; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /plugins/core/divs.css: -------------------------------------------------------------------------------- 1 | div.JS9DivsContainer { 2 | padding: 2px; 3 | } 4 | 5 | div.JS9DivsHeader { 6 | border: 0px solid black; 7 | background: #E9E9E9; 8 | padding: 10px; 9 | margin-left: 15px; 10 | margin-top: 5px; 11 | margin-right: 5px; 12 | margin-bottom: 0px; 13 | } 14 | 15 | div.JS9DivsDiv { 16 | margin: 5px; 17 | background: #E9E9E9; 18 | overflow: auto; 19 | padding: 10px; 20 | border: 1px solid black; 21 | } 22 | 23 | span.JS9DivsSpan { 24 | float: right; 25 | margin-right: 10px; 26 | } 27 | 28 | span.JS9NoDivs { 29 | margin-left: 15px; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /plugins/core/imarith.css: -------------------------------------------------------------------------------- 1 | div.JS9ImarithLinegroup { 2 | float: left; 3 | position: relative; 4 | top: 0px; 5 | left: 0px; 6 | width: 95%; 7 | padding: 5px; 8 | margin: 5px; 9 | } 10 | 11 | div.JS9ImarithContainer { 12 | padding: 5px; 13 | } 14 | -------------------------------------------------------------------------------- /plugins/core/layers.css: -------------------------------------------------------------------------------- 1 | div.JS9LayersContainer { 2 | padding: 2px; 3 | } 4 | 5 | div.JS9LayersHeader { 6 | border: 0px solid black; 7 | background: #E9E9E9; 8 | padding: 0px; 9 | margin-left: 15px; 10 | margin-top: 5px; 11 | margin-right: 5px; 12 | margin-bottom: 0px; 13 | } 14 | 15 | div.JS9LayersLayer { 16 | margin: 5px; 17 | background: #E9E9E9; 18 | overflow: auto; 19 | } 20 | 21 | div.JS9LayersLayerInactive { 22 | padding: 10px; 23 | border: 1px solid black; 24 | } 25 | 26 | div.JS9LayersLayerActive { 27 | padding: 9px; 28 | border: 2px solid #00F000; 29 | } 30 | 31 | span.JS9LayersSpan { 32 | float: right; 33 | margin-right: 10px; 34 | } 35 | 36 | span.JS9NoLayers { 37 | margin-left: 15px; 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/core/mef.css: -------------------------------------------------------------------------------- 1 | .JS9MefContainer { 2 | padding: 10px; 3 | overflow: auto; 4 | } 5 | 6 | .JS9MefExtension { 7 | margin: 5px; 8 | background: #E9E9E9; 9 | overflow: auto; 10 | font-size: 10pt; 11 | } 12 | 13 | .JS9MefHeader { 14 | margin: 5px; 15 | background: #E9E9E9; 16 | } 17 | 18 | .JS9MefInput { 19 | margin: 5px; 20 | background: #E9E9E9; 21 | } 22 | 23 | .JS9MefExtensionInactive { 24 | padding: 0px; 25 | border: 1px solid black; 26 | } 27 | 28 | .JS9MefExtensionActive { 29 | padding: 0px; 30 | border: 2px solid #00F000; 31 | } 32 | 33 | span.JS9MefStrike{ 34 | font-weight:bold; /*set line weight here*/ 35 | color:red; 36 | text-decoration:line-through; 37 | } 38 | 39 | span.JS9MefStrike>span { 40 | font-weight:normal; 41 | color: black; 42 | } -------------------------------------------------------------------------------- /plugins/core/mousetouch.css: -------------------------------------------------------------------------------- 1 | div.JS9MouseTouchContainer { 2 | padding: 2px; 3 | } 4 | 5 | div.JS9MouseTouchText { 6 | margin: 5px; 7 | padding: 6px 6px 6px 10px; 8 | background: #E9E9E9; 9 | overflow: auto; 10 | border: 1px solid transparent; 11 | } 12 | 13 | div.JS9MouseTouchAction { 14 | margin: 5px; 15 | padding: 6px; 16 | background: #E9E9E9; 17 | overflow: auto; 18 | border: 1px solid black; 19 | } 20 | 21 | div.JS9MouseTouchHeader, div.JS9MouseTouchFooter { 22 | background: #E9E9E9; 23 | text-align: center; 24 | padding: 0px; 25 | margin-left: 15px; 26 | margin-top: 5px; 27 | margin-right: 5px; 28 | margin-bottom: 0px; 29 | border: 1px solid transparent; 30 | } 31 | -------------------------------------------------------------------------------- /plugins/core/scalecontrols.css: -------------------------------------------------------------------------------- 1 | .JS9ScaleContainer { 2 | padding: 5px; 3 | } 4 | 5 | .JS9ScaleLinegroup { 6 | float: left; 7 | position: relative; 8 | top: 0px; 9 | left: 0px; 10 | width: 95%; 11 | padding: 5px; 12 | margin: 5px; 13 | } 14 | 15 | .JS9ScalePlot { 16 | border: 1px black solid; 17 | } 18 | -------------------------------------------------------------------------------- /plugins/fitsy/README: -------------------------------------------------------------------------------- 1 | original source: https://github.com/jbroll/fitsy.js 2 | -------------------------------------------------------------------------------- /plugins/help/plugintest.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | JS9 Test Plugin 8 | 9 | 10 | 11 |
12 |

The plugin help page

13 | 14 |

15 | Not much to say ... it's a plugin test, after all! See the page source for 16 | implementation details. 17 |

18 | See also: 19 | Adding Local Analysis Tasks (Plugins) to JS9 20 |

21 | 22 | 23 | -------------------------------------------------------------------------------- /plugins/imexam/4arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/plugins/imexam/4arrow.png -------------------------------------------------------------------------------- /plugins/imexam/README: -------------------------------------------------------------------------------- 1 | original source: https://github.com/jbroll/js9imexam 2 | -------------------------------------------------------------------------------- /plugins/plugintest.css: -------------------------------------------------------------------------------- 1 | div.PLUGINtest{ 2 | /* relative pos top/left for container, Flanagan's JavaScript, p 357 */ 3 | position: relative; 4 | top: 0px; 5 | left: 0px; 6 | display: block; 7 | border-width: 0px; 8 | background: lightblue; 9 | } 10 | 11 | div.PLUGINmessage{ 12 | height: 30px; 13 | padding: 10px; 14 | } 15 | -------------------------------------------------------------------------------- /src/js9helper.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: @PACKAGE_NAME@ 7 | Description: Node helper for js9.js 8 | Version: @PACKAGE_VERSION@ 9 | Libs: -L${libdir} -lfuntools @EXTRA_LIBS@ -lm 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /src/util/Makefile: -------------------------------------------------------------------------------- 1 | OBJS = file.o find.o macro.o word.o swap.o xalloc.o 2 | 3 | libutil.a: $(OBJS) 4 | ar rv $@ $? 5 | ranlib $@ 6 | 7 | file.o: file.c 8 | $(CC) -c $(CFLAGS) -o $@ $? 9 | 10 | find.o: find.c 11 | $(CC) -c $(CFLAGS) -o $@ $? 12 | 13 | macro.o: macro.c 14 | $(CC) -c $(CFLAGS) -o $@ $? 15 | 16 | swap.o: swap.c 17 | $(CC) -c $(CFLAGS) -o $@ $? 18 | 19 | word.o: word.c 20 | $(CC) -c $(CFLAGS) -o $@ $? 21 | 22 | xalloc.o: xalloc.c 23 | $(CC) -c $(CFLAGS) -o $@ $? 24 | 25 | clean: FORCE 26 | rm -rf *.o *.a *~ 27 | 28 | FORCE: 29 | -------------------------------------------------------------------------------- /src/util/find.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * find.h -- declarations for find finding 8 | * 9 | */ 10 | 11 | #ifndef __find_h 12 | #define __find_h 13 | 14 | #include "xutil.h" 15 | #include "xalloc.h" 16 | 17 | char *ResolvePath(char *ibuf, char *obuf, int maxlen); 18 | void ExpandEnv(char *name, char *fullname, int maxlen); 19 | char *Access(char *name, char *mode); 20 | char *Find(char *name, char *mode, char *extn, char *path); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /src/util/macro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * macro.h - include file for the macro expander 8 | * 9 | */ 10 | 11 | #ifndef __macro_h 12 | #define __macro_h 13 | 14 | #include "xutil.h" 15 | 16 | typedef char *(*MacroCall)(char *s, void *client_data); 17 | 18 | char *ExpandMacro(char *icmd, char **keyword, char **value, int nkey, 19 | MacroCall client_callback, void *client_data); 20 | 21 | #endif /* __macro.h */ 22 | -------------------------------------------------------------------------------- /src/util/swap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1999-2003 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * swap.h -- declarations for swap 8 | * 9 | */ 10 | 11 | #ifndef __swap_h 12 | #define __swap_h 13 | 14 | /* data types */ 15 | #define TY_CHAR 1 16 | #define TY_USHORT -2 17 | #define TY_SHORT 2 18 | #define TY_INT 4 19 | #define TY_FLOAT -4 20 | #define TY_DOUBLE -8 21 | 22 | int is_bigendian(void); 23 | void swap_short(short *buf, int n); 24 | void swap_ushort(unsigned short *buf, int n); 25 | void swap_int(int *buf, int n); 26 | void swap_uint(unsigned int *buf, int n); 27 | void swap_float(float *buf, int n); 28 | void swap_double(double *buf, int n); 29 | void swap_data(void *buf, int len, int dtype); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/util/xalloc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Smithsonian Astrophysical Observatory 3 | */ 4 | 5 | /* 6 | * 7 | * xalloc.h -- declarations for safe (error-checked) memory allocation 8 | * 9 | */ 10 | 11 | #ifndef __xalloc_h 12 | #define __xalloc_h 13 | 14 | #include "xutil.h" 15 | #ifdef HAVE_SETJMP_H 16 | #define XALLOC_SETJMP 142857 17 | #include 18 | #endif 19 | 20 | void *xmalloc(size_t n); 21 | void *xcalloc(size_t n, size_t s); 22 | void *xrealloc(void *p, size_t n); 23 | void xfree(void *p); 24 | char *xstrdup(char *s); 25 | #if HAVE_SETJMP 26 | void xalloc_savejmp(jmp_buf *env); 27 | #endif 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /tests/data: -------------------------------------------------------------------------------- 1 | ../data -------------------------------------------------------------------------------- /tests/threeways/threeloop: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # set -x 3 | 4 | WEBPAGE=$HOME/js9/tests/threeways/threeways_app.html 5 | WIDTH=660 6 | HEIGHT=880 7 | ID=threeJS9 8 | PYTHON=python3 9 | 10 | js9 -a --width $WIDTH --height $HEIGHT --webpage $WEBPAGE $* & 11 | sleep 2 12 | i=0; 13 | 14 | METHOD="python" 15 | while true; do 16 | echo "using $METHOD ... #${i}" 17 | i=$((i+1)) 18 | if [ x$METHOD = "xshell" ]; then 19 | threeways.sh -a -b ../../data/blend -i $ID -t 2 -z 2 $* 20 | METHOD="python" 21 | else 22 | $PYTHON threeways.py 23 | METHOD="shell" 24 | fi 25 | sleep 3 26 | done 27 | -------------------------------------------------------------------------------- /tests/velajr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericmandel/js9/ab872949369d6b0a17c70cebb8f94317290e31ef/tests/velajr.png --------------------------------------------------------------------------------