From 6869fac2de40a1838e8e11fb711c86d571ddd2b2 Mon Sep 17 00:00:00 2001 From: Zheng Zhenyu Date: Tue, 17 May 2022 19:40:15 +0800 Subject: [PATCH] Initial Commit for openGauss-webclient Initial Commit for openGauss-webclient Signed-off-by: Zheng Zhenyu --- .dockerignore | 1 + .gitattributes | 1 + .gitignore | 6 + CHANGELOG.md | 373 +++++ CONTRIBUTING.md | 7 + Dockerfile | 17 + LICENSE | 20 + Makefile | 81 + Procfile | 1 + README.en.md | 36 - README.md | 107 +- SCREENS.md | 10 + app.json | 27 + appveyor.yml | 30 + config/pgweb.freebsd_rc | 50 + config/pgweb.service | 11 + config/pgweb_initd.conf | 67 + config/pgweb_upstart.conf | 10 + data/bookmark.toml | 5 + data/bookmark_invalid_ssl.toml | 5 + data/bookmark_url.toml | 1 + data/booktown.sql | 1880 ++++++++++++++++++++++ data/invalid.toml | 1 + data/roach.sql | 43 + go.mod | 43 + go.sum | 132 ++ main.go | 9 + pkg/api/api.go | 548 +++++++ pkg/api/api_test.go | 40 + pkg/api/backend.go | 81 + pkg/api/backend_test.go | 148 ++ pkg/api/errors.go | 19 + pkg/api/helpers.go | 180 +++ pkg/api/helpers_test.go | 72 + pkg/api/middleware.go | 67 + pkg/api/routes.go | 58 + pkg/api/session_cleanup.go | 41 + pkg/bookmarks/bookmarks.go | 141 ++ pkg/bookmarks/bookmarks_test.go | 141 ++ pkg/cli/cli.go | 251 +++ pkg/client/client.go | 476 ++++++ pkg/client/client_test.go | 503 ++++++ pkg/client/codec.go | 45 + pkg/client/codec_test.go | 51 + pkg/client/dump.go | 75 + pkg/client/dump_test.go | 52 + pkg/client/result.go | 163 ++ pkg/client/result_test.go | 92 ++ pkg/client/tunnel.go | 220 +++ pkg/client/util.go | 45 + pkg/command/options.go | 141 ++ pkg/command/options_test.go | 47 + pkg/command/version.go | 17 + pkg/connection/connection_string.go | 137 ++ pkg/connection/connection_string_test.go | 174 ++ pkg/connection/port.go | 32 + pkg/connection/port_test.go | 75 + pkg/history/history.go | 21 + pkg/shared/ssh_info.go | 19 + pkg/statements/sql.go | 167 ++ pkg/util/profiler.go | 32 + screenshots/browse.png | Bin 0 -> 587676 bytes screenshots/connect.png | Bin 0 -> 140000 bytes screenshots/query.png | Bin 0 -> 295353 bytes script/check_formatting.sh | 12 + script/package.sh | 15 + script/test_all.sh | 34 + script/test_cockroach.sh | 58 + script/update_homebrew.sh | 24 + static/css/app.css | 799 +++++++++ static/css/bootstrap.css | 5 + static/css/font-awesome.css | 4 + static/data.go | 7 + static/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes static/fonts/fontawesome-webfont.svg | 520 ++++++ static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes static/img/icon.png | Bin 0 -> 3361 bytes static/index.html | 316 ++++ static/js/ace-pgsql.js | 7 + static/js/ace.js | 16 + static/js/app.js | 1566 ++++++++++++++++++ static/js/base64.js | 107 ++ static/js/bootstrap-contextmenu.js | 205 +++ static/js/bootstrap-dropdown.js | 150 ++ static/js/bootstrap3-typeahead.min.js | 1 + static/js/ext-language_tools.js | 8 + static/js/jquery.js | 4 + static/js/theme-tomorrow.js | 1 + static/js/utils.js | 28 + 91 files changed, 11170 insertions(+), 62 deletions(-) create mode 100644 .dockerignore create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 CONTRIBUTING.md create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 Procfile delete mode 100644 README.en.md create mode 100644 SCREENS.md create mode 100644 app.json create mode 100644 appveyor.yml create mode 100644 config/pgweb.freebsd_rc create mode 100644 config/pgweb.service create mode 100644 config/pgweb_initd.conf create mode 100644 config/pgweb_upstart.conf create mode 100644 data/bookmark.toml create mode 100644 data/bookmark_invalid_ssl.toml create mode 100644 data/bookmark_url.toml create mode 100644 data/booktown.sql create mode 100644 data/invalid.toml create mode 100644 data/roach.sql create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main.go create mode 100644 pkg/api/api.go create mode 100644 pkg/api/api_test.go create mode 100644 pkg/api/backend.go create mode 100644 pkg/api/backend_test.go create mode 100644 pkg/api/errors.go create mode 100644 pkg/api/helpers.go create mode 100644 pkg/api/helpers_test.go create mode 100644 pkg/api/middleware.go create mode 100644 pkg/api/routes.go create mode 100644 pkg/api/session_cleanup.go create mode 100644 pkg/bookmarks/bookmarks.go create mode 100644 pkg/bookmarks/bookmarks_test.go create mode 100644 pkg/cli/cli.go create mode 100644 pkg/client/client.go create mode 100644 pkg/client/client_test.go create mode 100644 pkg/client/codec.go create mode 100644 pkg/client/codec_test.go create mode 100644 pkg/client/dump.go create mode 100644 pkg/client/dump_test.go create mode 100644 pkg/client/result.go create mode 100644 pkg/client/result_test.go create mode 100644 pkg/client/tunnel.go create mode 100644 pkg/client/util.go create mode 100644 pkg/command/options.go create mode 100644 pkg/command/options_test.go create mode 100644 pkg/command/version.go create mode 100644 pkg/connection/connection_string.go create mode 100644 pkg/connection/connection_string_test.go create mode 100644 pkg/connection/port.go create mode 100644 pkg/connection/port_test.go create mode 100644 pkg/history/history.go create mode 100644 pkg/shared/ssh_info.go create mode 100644 pkg/statements/sql.go create mode 100644 pkg/util/profiler.go create mode 100644 screenshots/browse.png create mode 100644 screenshots/connect.png create mode 100644 screenshots/query.png create mode 100644 script/check_formatting.sh create mode 100644 script/package.sh create mode 100644 script/test_all.sh create mode 100644 script/test_cockroach.sh create mode 100644 script/update_homebrew.sh create mode 100644 static/css/app.css create mode 100644 static/css/bootstrap.css create mode 100644 static/css/font-awesome.css create mode 100644 static/data.go create mode 100644 static/fonts/FontAwesome.otf create mode 100644 static/fonts/fontawesome-webfont.eot create mode 100644 static/fonts/fontawesome-webfont.svg create mode 100644 static/fonts/fontawesome-webfont.ttf create mode 100644 static/fonts/fontawesome-webfont.woff create mode 100644 static/img/icon.png create mode 100644 static/index.html create mode 100644 static/js/ace-pgsql.js create mode 100644 static/js/ace.js create mode 100644 static/js/app.js create mode 100644 static/js/base64.js create mode 100644 static/js/bootstrap-contextmenu.js create mode 100644 static/js/bootstrap-dropdown.js create mode 100644 static/js/bootstrap3-typeahead.min.js create mode 100644 static/js/ext-language_tools.js create mode 100644 static/js/jquery.js create mode 100644 static/js/theme-tomorrow.js create mode 100644 static/js/utils.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f59ec20 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d30daf3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +bindata.go -diff diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5be7849 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.DS_Store +.idea +pgweb +bin +tmp/ +cover.out diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..bfe5a8e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,373 @@ +# 0.11.11 - 2022-03-29 + +- Auto-detect the query from the query source based on user selection, GH-547 +- Added binary codec base58 as well as improving the help for --binary-codec flag, GH-548 +- Change binary codec back to none, GH-555 + +## 0.11.10 - 2022-01-20 + +- Removes alert on column copy value, GH-536 +- Migrate test suite to Github Action, GH-540 +- Serialize binary bytea cols into hex/base64, GH-537 +- Include build time into version string, GH-541 +- Explain analyze dropdown button, GH-532 +- Switch to go 1.17, GH-543 +- Use HTTP 302 status code for successful backend redirect, GH-544 +- Add connect backend tests, GH-546 + +## 0.11.9 - 2021-11-08 + +- Releases are built on Go 1.17 +- Build time correction, GH-521 +- Fix broken assets URL path prefix, GH-525 +- Update docker build image to alpine:3.14, GH-522 +- Upgrade gin dependency to v1.7.4, GH-527 +- Add FreeBSD startup script, GH-520 + +## 0.11.8 - 2021-07-07 + +- Releases are built with Go 1.16 +- Add ARM64 v7 build target, GH-497 +- Switch to Go modules for dependency management, GH-509 +- Switch to Go embed for static assets management, GH-510 +- Add Darwin/ARM64 build target (Apple Silicon), GH-513 + +## 0.11.7 - 2020-10-18 + +- Releases are built with Go 1.15 +- Show results row context menu on custom query results, GH-457 +- Do not terminate if local authentication failed on start, GH-463 +- Do not show other databases if session is locked, GH-470 +- Strip debug information from binary to reduce size, GH-489 +- Disable autocomplete on database search field, GH-492 +- Improve windows connection error matching during start, GH-493 + +## 0.11.6 - 2020-02-19 + +- Add CLI options for SSL key, cert and root certs, GH-452 +- Remove double click action on cell, GH-455 + +## 0.11.5 - 2019-12-16 + +- Add basic SQL keyword autocompletion, GH-443 +- SSH Private Key handling update (encrypted keys are supported now), GH-445 +- Include Go version into `pgweb --version` output, GH-447 +- Fix long table name bug in the sidebar, GH-448 +- Add SQL objects (table,views,etc) autocompletion, GH-449 +- Include Go version into info API endpoint, GH-450 + +## 0.11.4 - 2019-10-05 + +- Fix SQL export filename, GH-438 +- Update Docker image to alpine:3.10, GH-439 +- Drop unsupported pg_dump options from connection string, GH-441 +- Misc code cleanup and formatting, GH-442 + +## 0.11.3 - 2019-07-24 + +- Misc: add script to update homebrew formula version, GH-423 +- Destructive keyword restriction in read-only mode, GH-421 +- Make database object searchable in sidebar, GH-434 +- Update lib/pg to 1.1.1, GH-435 + +## 0.11.2 - 2019-02-15 + +- Fix table row estimation query for camelcase schemas, GH-414 + +## 0.11.1 - 2019-01-28 + +- Typo fixes +- Add Base64 javascript encoder/decoder to replace deprecated window.atob call, GH-405 +- Fix startup error when DATABASE_URL is set, GH-406 +- Fix user auto detection when USER env var is not set, GH-408 +- Switch bindata dependency to use maintained fork: github.com/go-bindata/go-bindata, GH-409 + +## 0.11.0 - 2018-12-24 + +- Tweak sidebar database object counters styles, GH-400 +- Do not exit with error if local server is not running, GH-399 +- Fix SSH host verification check, GH-398 +- Scope activity list to current database only, GH-397 +- Show current release version and check for updates, GH-396 +- Force switch back to default connection settings view, GH-395 +- Fix row count estimation bug, GH-394 +- Print out failed query SQL and args with --debug flag, GH-393 + +## 0.10.0 - 2018-11-28 + +- Fixes relation not found errors when dealing with table names that have uppercase characters, GH-356 +- Dockerfile updates, GH-357 +- Check if pg_dump is available before running database export, GH-358 +- Improvements to CockroachDB integration, GH-365 +- Add EstimatedTableRowsCount to avoid count in large tables, GH-366 +- Automatically set table filter option to 'equals' if its not set, GH-370 +- Dependencies update and switch to dep, GH-375 +- Add column context menu item to get numeric stats, GH-377 +- Fix issues with connection string builder, GH-378 +- Include rows count to numeric stats view on table column, GH-379 +- Make localhost to be a default db host, GH-380 +- Clear out connection settings/bookmark on login screen when running in session/connect mode +- Add table row context menu with actions, GH-381 +- Allow settings url prefix with URL_PREFIX env var, GH-387 +- Fix JSON marshal panic when dealing with NaN values, GH-388 +- Fix startup behavior when user did not provide a database name, GH-389 + +## 0.9.12 - 2018-04-23 + +- Add link to view database connection string format on login page +- Include constraint name under "constraints" tab, GH-343 +- Misc CI and config changes + +## 0.9.11 - 2017-12-07 + +- Fix ssl mode for the connection url in the bookmarks, GH-320 +- Add support for CORS, GH-321 +- Fix custom query results counter for empty queries, GH-322 +- Reorganize the table context menu, GH-323 +- Disable database connection string text field autocomplete, GH-327 +- Add db prefix to the table export files, GH-329 +- Add database view context menu with export actions, GH-330 + +## 0.9.10 - 2017-11-03 + +- Make idle connection timeout configurable, [GH-282] +- Fix panics when sshinfo is not set on bookmarks, [GH-296] +- Dot now allow using startup bookmark in multi-session mode, [GH-300] +- Add ability to copy table name from the sidebar, [GH-301] + +## 0.9.9 - 2017-09-28 + +- Automatically format JSON data exports, GH-255 +- Update Docker image to alpine:3.6, GH-256 +- Print out PostgreSQL server version on start in a single-session mode, GH-264 +- Record last query timestamp for the client connection, GH-265 +- Add context menu for table headers in browse mode (copy name, see unique values), GH-268 +- Add ability to export current database dump, GH-270 +- Automatically open pgweb in browser on start if its already running, GH-272 +- Connect to the database with credentials provided by a third-party backend, GH-266 +- Automatically close idle sessions (no activity in 1 hour), GH-275 +- Allow connecting via SSH with a custom private key and other fixes, GH-277 +- Add options to disable SSH connections, GH-279 + +## 0.9.8 - 2017-08-04 + +- Fixed error checking in the API, GH-234 +- Fixed activity tab to support PG 9.x versions, GH-237 +- Remember sort column and order for pagination, GH-240 +- Use `sslmode=disable` for bookmarks without sslmode option, GH-244 +- Javascript fixes for IE9-11, GH-245 +- Require confirmation for the disconnect, GH-246 +- Clean the results table on manual disconnect + +## 0.9.7 - 2017-04-04 + +- Fixed issue with locked session and empty db url, GH-206 +- Fixed path rewrite on DB change, GH-212 +- Upgraded dependencies, GH-217 +- Added ability to specify bookmarks path, GH-218 +- Added counter for the number of rows from a custom SQL query, GH-224 +- Added new behavior for removing table rows view on custom SQL query page, GH-225 + +## 0.9.6 - 2016-11-18 + +- Fixed bug in query base64-encoding, GH-186 +- Fixed rows pagination visibility bug, GH-190 +- Fixed issue with query order escaping, GH-191 +- Fixed invalid query selection for explain command, GH-198 +- Fixed issue with empty sidebar, now it shows empty state, GH-202 +- Added new flag --readonly to enable read only transaction mode, GH-193 +- Added ability to kill any running query, GH-194 +- Added session database connection locking, GH-195 +- Added ability to switch between databases, GH-196 +- Added feature to keep last selected tab when switching between tables, GH-197 +- Added new flag --bookmark (-b) to specify server connection from bookmark, GH-201 + +## 0.9.5 - 2016-10-01 + +- Only view schema with USAGE privileges, GH-167 +- Fixed broken export to CSV/JSON/XML if hashmark in URL, GH-175 +- Added example service configuration for systemd, GH-177 +- Allow setting auth user and pass using variables + +## 0.9.4 - 2016-07-29 + +- Fixes CSV/JSON/XML export buttons when pgweb is running with url prefix, GH-170 + +## 0.9.3 - 2016-06-30 + +- Uses Go 1.6 for development, GH-155 +- Fixes timestamp formatting in CSV export, GH-163 +- Included PostgreSQL 9.6 for integration testing +- Switches docker image to Alpine to reduce image size +- Adds support for ARMv5 + +## 0.9.2 - 2016-03-01 + +- Fixes bug with unsafe base64 encoded sql queries +- Fixes issue with session id not being included in multi-session mode +- Fixes visual issue with long table names in sidebar +- Fixes visual issue with a scrollbar in table information widget +- Fixes issue with database connection form being reset by clicking on 'cancel' button +- Adds ability to close connection +- Adds display message for number of affected rows for update/delete queries, GH-133 +- Adds web server url prefix as a CLI option, GH-135 + +## 0.9.1 - 2016-01-25 + +- Fixes bug with tables context menu +- Fixes JS bug when query returns no rows +- Fixes bug with switching between different connection modes +- Adds AJAX timeout to 5s +- Adds sidebar reload action on any CREATE/DROP action + +## 0.9.0 - 2016-01-19 + +- Add support for multiple schemas. GH-112 +- Add support for native ssh tunnes. GH-114 +- Add materialized views to list of schema objects +- Adds a few design tweaks and cleanups +- Fixes bug with nil result set when fetching rows + +## 0.8.0 - 2016-01-11 + +- Fixes bug with bigint conversions in javascript. Now bigints are encoded as strings. GH-109 +- Adds pagination and simple column filtering to table rows browser. GH-110 +- Adds ability to use pgweb with multiple database sessions. GH-111 +- Adds a few design tweaks and cleanups + +## 0.7.0 - 2016-01-05 + +- Adds sequences to the sidebar panel - GH-100 +- Adds table constrains view - GH-104 +- Adds ability to export table and query rows as JSON/XML - GH-107 +- Updates to UI theme and SQL editor + +## 0.6.3 - 2015-08-16 + +- Adds PostgreSQL password escaping in web ui, GH-96 +- Adds base64 query encoding for CSV export, GH-95 +- Adds automatic saving of last executed query to localStorage +- Adds request middleware to log incoming form params in debug mode + +## 0.6.2 - 2015-07-15 + +- Adds ability to specify connection strings prefixed by `postgresql://`, [GH-92] +- Updates configuration for Heroku, [GH-89], [GH-90] +- Updates postgresql library dependency to latest, [GH-91] +- Fixes password field to not display plaintext passwords, [GH-87] + +## 0.6.1 - 2015-06-18 + +- This release is repackage-release targeted to fix binary downloads + +## 0.6.0 - 2015-05-31 + +- Adds ability to execute only selected SQL query in run command view, [GH-85] +- Adds ability to delete/truncate table via context meny on sidebar view +- Adds ability to export table contents to CSV via context menu on sidebar view +- Changes sidebar color scheme to a lighter and better looking one + +## 0.5.3 - 2015-05-06 + +- Changes default server port from 8080 to 8081 to avoil conflict with RethinkDB +- Changes styles for table rows and connection settings window +- Adds highlighting styles for columns with sort order +- Adds git sha into program version output +- Add new endpoint /api/info to get build details + +## 0.5.2 - 2015-04-13 + +- Adds a new endpoint /activity that retuns active queries +- Adds tab to view active queries +- Adds column sorting when browsing table contents +- Fixes SQL query view when switching to table structure view + +## 0.5.1 - 2015-02-23 + +- Upgrades Gin framework dependency to 0.5.0 +- Fixes server crash if another pgweb server is running + +## 0.5.0 - 2015-01-13 + +- Adds Go 1.4 support +- Adds connection string printing in debug mode +- Adds initial bookmarks support +- Adds /api prefix for all API calls +- Adds makefile usage task +- Adds windows CI to verify build process +- Adds example sql database to codebase +- Adds timestamped filenames when exporting results to CSV [GH-75] +- Adds connection checking on each request to prevent api panics +- Adds timestamps to query history records +- Adds current database name to the sidebar +- Adds button to refresh tables list to the sidebar +- Updates all application dependencies +- Changes /api/info endpoint to /api/connection +- Fixes issues with connection string/options parsing +- Fixes capitalized column names in table view +- Fixes connection string validation in /api/connect endpoint + +## 0.4.1 - 2014-12-01 + +- Adds pgweb version on start [GH-65] +- Adds user detection from OS environment +- Adds simple memory profiles with --debug option +- Adds the session user and search path in connection info [GH-67] +- Adds table list reloading after CREATE/DROP TABLE queries [GH-69] +- Adds font awesome icons for the sidebar +- Removes query recording for internal queries [GH-67] +- Fixes default sslmode. Its not longer set to "disable" +- Fixes cells cropping on table indexes view +- Fixes connection URL generation using web interface +- Fixes SQL statements for table row count [GH-67] +- Fixes /tables JSON response if database does not have any tables + +## 0.4.0 - 2014-11-11 + +- Adds query escaping when exporting results to CSV [GH-38] +- Adds keyboard shortcut (ctrl+e, command+e on mac) for query explain action +- Adds HTTP basic authentication with --auth-user and --auth-pass flags +- Adds -skip-open/-s flag to disable automatic browser launch +- Adds --bind option to specify server listen hostname/ip +- Adds ssl mode parameters to url if ssl flag is set and not defined in the url +- Adds dependency management with Godep +- Adds Docker support +- Adds Heroku support +- Adds ability to connect to databases with no tables +- Adds precompiled assets into repository to simplify development +- Adds a connection details view +- Adds a new interface to specify connection settings or make a new connection +- Adds page favicon +- Adds ability to present cell data as text area by double clicking on it +- Fixes styles for query explain results +- Fixes sidebar navigation scrolling styles [GH-12] +- Fixes sidebar table name styles to support long names + +## 0.3.1 - 2014-10-28 + +- Adds proper exit code when printing version via -v/--version flag +- Adds --version and --debug long flag names +- Adds double quotes for table name when fetching table contents +- Adds support for DATABASE_URL environment variable if no --url is set +- Adds proper usage of jQuery .prop method +- Adds --pass flag to specify connection password +- Fixes --ssl flag usage, previous value was hardcoded + +## 0.3.0 - 2014-10-26 + +- Renamed `make deps` to `make setup` and fix issues with bootstrapping +- Removed hardcoded url for CSV export, it now detects application host:port +- Improved query history view table styles +- Moved table information view to the sidebar +- Added --listen flag to specify web server port, still defaults to 8080 + +## 0.2.0 - 2014-10-23 + +- Design tweaks +- Automatically opens browser on OSX systems +- Adds query explain functionality +- Adds export to CSV + +## 0.1.0 - 2014-10-14 + +- Initial release diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f93913a --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,7 @@ +- Fork repository +- Create a new git branch +- Make changes +- Run tests: `make test` +- Run tests agains all supported PostreSQL versions: `make test-all` (optional) +- If you change frontend code (js/css) make sure to rebuild assets: `make assets` +- Open a new pull request \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2715a90 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM alpine:3.14 +LABEL maintainer="Dan Sosedoff " +ENV PGWEB_VERSION 0.11.11 + +RUN \ + apk update && \ + apk add --no-cache ca-certificates openssl postgresql wget && \ + update-ca-certificates && \ + rm -rf /var/cache/apk/* && \ + cd /tmp && \ + wget -q https://github.com/sosedoff/pgweb/releases/download/v$PGWEB_VERSION/pgweb_linux_amd64.zip && \ + unzip pgweb_linux_amd64.zip -d /usr/bin && \ + mv /usr/bin/pgweb_linux_amd64 /usr/bin/pgweb && \ + rm -f pgweb_linux_amd64.zip + +EXPOSE 8081 +CMD ["/usr/bin/pgweb", "--bind=0.0.0.0", "--listen=8081"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b915611 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014-2022 Dan Sosedoff + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a5323a7 --- /dev/null +++ b/Makefile @@ -0,0 +1,81 @@ +TARGETS = darwin/amd64 darwin/arm64 linux/amd64 linux/386 windows/amd64 windows/386 +GIT_COMMIT = $(shell git rev-parse HEAD) +BUILD_TIME = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ" | tr -d '\n') +GO_VERSION = $(shell go version | awk {'print $$3'}) +DOCKER_RELEASE_TAG = "sosedoff/pgweb:$(shell git describe --abbrev=0 --tags | sed 's/v//')" +DOCKER_LATEST_TAG = "sosedoff/pgweb:latest" +LDFLAGS = -s -w +PKG = github.com/sosedoff/pgweb + +usage: + @echo "" + @echo "Task : Description" + @echo "----------------- : -------------------" + @echo "make setup : Install all necessary dependencies" + @echo "make dev : Generate development build" + @echo "make build : Generate production build for current OS" + @echo "make bootstrap : Install cross-compilation toolchain" + @echo "make release : Generate binaries for all supported OSes" + @echo "make test : Execute test suite" + @echo "make test-all : Execute test suite on multiple PG versions" + @echo "make clean : Remove all build files and reset assets" + @echo "make docker : Build docker image" + @echo "make docker-release : Build and tag docker image" + @echo "make docker-push : Push docker images to registry" + @echo "" + +test: + go test -race -cover ./pkg/... + +test-all: + @./script/test_all.sh + @./script/test_cockroach.sh + +dev: + go build + @echo "You can now execute ./pgweb" + +build: + go build + @echo "You can now execute ./pgweb" + +release: LDFLAGS += -X $(PKG)/pkg/command.GitCommit=$(GIT_COMMIT) +release: LDFLAGS += -X $(PKG)/pkg/command.BuildTime=$(BUILD_TIME) +release: LDFLAGS += -X $(PKG)/pkg/command.GoVersion=$(GO_VERSION) +release: + @echo "Building binaries..." + @gox \ + -osarch "$(TARGETS)" \ + -ldflags "$(LDFLAGS)" \ + -output "./bin/pgweb_{{.OS}}_{{.Arch}}" + + @echo "Building ARM binaries..." + GOOS=linux GOARCH=arm GOARM=5 go build -ldflags "$(LDFLAGS)" -o "./bin/pgweb_linux_arm_v5" + + @echo "Building ARM64 binaries..." + GOOS=linux GOARCH=arm64 GOARM=7 go build -ldflags "$(LDFLAGS)" -o "./bin/pgweb_linux_arm64_v7" + + @echo "\nPackaging binaries...\n" + @./script/package.sh + +bootstrap: + gox -build-toolchain + +setup: + go install github.com/mitchellh/gox@v1.0.1 + +clean: + @rm -f ./pgweb + @rm -rf ./bin/* + +docker: + docker build --no-cache -t pgweb . + +docker-release: + docker build --no-cache -t $(DOCKER_RELEASE_TAG) . + docker tag $(DOCKER_RELEASE_TAG) $(DOCKER_LATEST_TAG) + docker images $(DOCKER_RELEASE_TAG) + +docker-push: + docker push $(DOCKER_RELEASE_TAG) + docker push $(DOCKER_LATEST_TAG) diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..1f3a4d1 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: pgweb --url=$DATABASE_URL --listen=$PORT --bind=0.0.0.0 --auth-user=$AUTH_USER --auth-pass=$AUTH_PASS diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 3fe8d84..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# openGauss-webclient - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 1b24502..cad9b37 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,94 @@ # openGauss-webclient -#### 介绍 -{**以下是 Gitee 平台说明,您可以替换此简介** -Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} +Web-based openGauss database browser written in Go. -#### 软件架构 -软件架构说明 +*Note: This project is a fork and modified version of [pgweb](https://github.com/sosedoff/pgweb)* +## Overview -#### 安装教程 +Pgweb is a web-based database browser for PostgreSQL, written in Go and works +on OSX, Linux and Windows machines. Main idea behind using Go for backend development +is to utilize ability of the compiler to produce zero-dependency binaries for +multiple platforms. Pgweb was created as an attempt to build very simple and portable +application to work with local or remote PostgreSQL databases. -1. xxxx -2. xxxx -3. xxxx -#### 使用说明 +## Features -1. xxxx -2. xxxx -3. xxxx +- Cross-platform support OSX/Linux/Windows 32/64-bit +- Simple installation (distributed as a single binary) +- Zero dependencies +- SSH Connections +- Multiple database sessions +- Simple database browser +- Execute and analyze custom SQL queries +- Table and query data export to CSV/JSON/XML +- Query history +- Server bookmarks -#### 参与贡献 +## Usage -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +Start server: +``` +openGauss-webclient +``` -#### 特技 +You can also provide connection flags: -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +``` +openGauss-webclient --host localhost --user myuser --db mydb +``` + +Connection URL scheme is also supported: + +``` +openGauss-webclient --url postgres://user:password@host:port/database?sslmode=[mode] +openGauss-webclient --url "postgres:///database?host=/absolute/path/to/unix/socket/dir" +``` + +### Multiple database sessions + +To enable multiple database sessions in pgweb, start the server with: + +``` +openGauss-webclient --sessions +``` + +Or set environment variable: + +``` +SESSIONS=1 openGauss-webclient +``` + + +## Testing + +Before running tests, make sure you have PostgreSQL server running on `localhost:5432` +interface. Also, you must have `postgres` user that could create new databases +in your local environment. Pgweb server should not be running at the same time. + +Execute test suite: + +``` +make test +``` + +If you're using Docker locally, you might also run pgweb test suite against +all supported PostgreSQL version with a single command: + +``` +make test-all +``` + +## Contribute + +- Fork this repository +- Create a new feature branch for a new functionality or bugfix +- Commit your changes +- Execute test suite +- Push your code and open a new pull request + +## License + +The MIT License (MIT). See [LICENSE](LICENSE) file for more details. diff --git a/SCREENS.md b/SCREENS.md new file mode 100644 index 0000000..89c6744 --- /dev/null +++ b/SCREENS.md @@ -0,0 +1,10 @@ +# Screenshots + +### Connect + + +### Browse table rows + + +### Write SQL queries + \ No newline at end of file diff --git a/app.json b/app.json new file mode 100644 index 0000000..043f941 --- /dev/null +++ b/app.json @@ -0,0 +1,27 @@ +{ + "name": "openGauss-webclient", + "description": "A web-based frontend to your openGauss database.", + "website": "https://gitee.com/opengauss/openGauss-webclient", + "repository": "https://gitee.com/opengauss/openGauss-webclient", + "logo": "https://gitee.com/opengauss/openGauss-webclient/raw/master/static/img/icon.pngg", + "success_url": "/", + "keywords": [ + "postgres", + "database", + "golang", + "frontend" + ], + "addons": [ + "heroku-postgresql" + ], + "env": { + "AUTH_USER": { + "description": "A username to log into openGauss-webclient.", + "value": "admin" + }, + "AUTH_PASS": { + "description": "The login password. Please change this.", + "generator": "secret" + } + } +} diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..400fb2f --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,30 @@ +clone_folder: c:\gopath\src\github.com\sosedoff\pgweb + +environment: + GOPATH: c:\gopath + GOROOT: c:\goroot116\go + GOTOOLDIR: c:\goroot116\go\pkg\tool\windows_amd64 + CGO_ENABLED: 0 + +services: + - postgresql + +install: + - ps: mkdir c:\goroot116 + - ps: iwr -outf c:\goroot116\go1.16.windows-amd64.zip https://golang.org/dl/go1.16.windows-amd64.zip + - ps: Expand-Archive c:\goroot116\go1.16.windows-amd64.zip -DestinationPath c:\goroot116 + - set PATH=%GOPATH%\bin;%PATH% + - set PATH=%GOROOT%\bin;%PATH% + - echo %PATH% + - echo %GOPATH% + - cd %APPVEYOR_BUILD_FOLDER% + - go env + - go version + +build_script: + - go build + +test_script: + - go test -cover ./... + +deploy: false diff --git a/config/pgweb.freebsd_rc b/config/pgweb.freebsd_rc new file mode 100644 index 0000000..223aba6 --- /dev/null +++ b/config/pgweb.freebsd_rc @@ -0,0 +1,50 @@ +#!/bin/sh +# +# $FreeBSD: $ +# +# PROVIDE: pgweb +# REQUIRE: NETWORKING +# KEYWORD: +# +# Add the following lines to /etc/rc.conf to enable pgweb: +# pgweb_enable="YES" +# +# pgweb_enable (bool): Set to YES to enable pgweb +# Default: NO +# pgweb_bind (str): HTTP server host +# Default: localhost +# pgweb_listen (str): HTTP server listen port +# Default: 8081 +# pgweb_user (str): pgweb daemon user +# Default: www +# pgweb_group (str): pgweb daemon group +# Default: www + +. /etc/rc.subr + +name="pgweb" +rcvar="pgweb_enable" +load_rc_config $name + +: ${pgweb_user:="www"} +: ${pgweb_group:="www"} +: ${pgweb_enable:="NO"} +: ${pgweb_bind:="localhost"} +: ${pgweb_flags=""} +: ${pgweb_facility:="daemon"} +: ${pgweb_priority:="debug"} +: ${pgweb_listen:="8081"} + +procname="/usr/local/bin/${name}" +pidfile="/var/run/${name}.pid" +start_precmd="${name}_precmd" +command=/usr/sbin/daemon +command_args="-S -l ${pgweb_facility} -s ${pgweb_priority} -T ${name} -t ${name} -p ${pidfile} \ + ${procname} --bind=${pgweb_bind} --listen=${pgweb_listen} ${pgweb_flags}" + +pgweb_precmd() +{ + install -o ${pgweb_user} /dev/null ${pidfile} +} + +run_rc_command "$1" diff --git a/config/pgweb.service b/config/pgweb.service new file mode 100644 index 0000000..6834658 --- /dev/null +++ b/config/pgweb.service @@ -0,0 +1,11 @@ +[Unit] +Description=pgweb - Cross-platform client for PostgreSQL databases +After=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/pgweb --bind=0.0.0.0 --listen=8081 +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/config/pgweb_initd.conf b/config/pgweb_initd.conf new file mode 100644 index 0000000..7f4a21d --- /dev/null +++ b/config/pgweb_initd.conf @@ -0,0 +1,67 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: pgweb +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start daemon at boot time +# Description: Enable service provided by daemon. +### END INIT INFO + +# Installation instructions (originally written for Debian) +# +# Save this script into /etc/init.d/pgweb file, make it executable, +# and install it into the boot sequence: +# +# chmod 755 /etc/init.d/pgweb +# update-rc.d pgweb defaults +# +# This script assumes that pgweb binary is located at /home/pgweb/, and that +# there's a bookmark 'server' in /home/pgweb/.pgweb/bookmarks/. +# + +NAME="pgweb" +PIDFILE="/var/run/$NAME.pid" + +USER="pgweb" # Linux system user +SU="su $USER -s /bin/bash" + +TIMEOUT=5 # Time in seconds to wait postgresql to show up + +case "$1" in + start) + if [ -f $PIDFILE ]; then + echo "Already running... cat $PIDFILE" + exit 0 + fi + + # Wait postgresql to show up + while ! test -f /var/run/postgresql/*main.pid + do + sleep 1 + TIMEOUT=`expr $TIMEOUT - 1` + if test $TIMEOUT -eq 0; then + exit 1 + fi + done + + # Ready to start pgweb + PID=`$SU -c '/home/pgweb/pgweb -s -b server >/dev/null & echo $!'` # Note! Logs are lost. + if [ -z $PID ]; then + exit 1 + else + echo $PID > $PIDFILE + fi + ;; + stop) + PID=`cat $PIDFILE` + kill $PID && rm $PIDFILE + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop}" + exit 1 + ;; +esac + +exit 0 \ No newline at end of file diff --git a/config/pgweb_upstart.conf b/config/pgweb_upstart.conf new file mode 100644 index 0000000..678e770 --- /dev/null +++ b/config/pgweb_upstart.conf @@ -0,0 +1,10 @@ +description "PgWeb as a Service for Ubuntu 14.04 With Upstart" + +start on runlevel [2345] +stop on runlevel [!2345] + +respawn +setuid youruser +setgid www-data + +exec /usr/bin/pgweb --bind=0.0.0.0 --listen=8081 diff --git a/data/bookmark.toml b/data/bookmark.toml new file mode 100644 index 0000000..55a1c7f --- /dev/null +++ b/data/bookmark.toml @@ -0,0 +1,5 @@ +host = "localhost" +port = 5432 +user = "postgres" +database = "mydatabase" +ssl = "disable" diff --git a/data/bookmark_invalid_ssl.toml b/data/bookmark_invalid_ssl.toml new file mode 100644 index 0000000..4dddcda --- /dev/null +++ b/data/bookmark_invalid_ssl.toml @@ -0,0 +1,5 @@ +host = "localhost" +port = 5432 +user = "postgres" +database = "mydatabase" +ssl = "disabled" diff --git a/data/bookmark_url.toml b/data/bookmark_url.toml new file mode 100644 index 0000000..b4997c1 --- /dev/null +++ b/data/bookmark_url.toml @@ -0,0 +1 @@ +url = "postgres://username:password@host:port/database?sslmode=disable" diff --git a/data/booktown.sql b/data/booktown.sql new file mode 100644 index 0000000..aecccac --- /dev/null +++ b/data/booktown.sql @@ -0,0 +1,1880 @@ +-- +-- Selected TOC Entries: +-- +-- +-- TOC Entry ID 1 (OID 0) +-- +-- Name: booktown Type: DATABASE Owner: postgres +-- + +DROP DATABASE IF EXISTS "booktown"; +CREATE DATABASE "booktown"; + +\connect booktown postgres +-- +-- TOC Entry ID 2 (OID 2991542) +-- +-- Name: DATABASE "booktown" Type: COMMENT Owner: +-- + +CREATE TABLE "dummies" ( + "id" integer NOT NULL, + "isDummy" boolean +); + +INSERT INTO "dummies" VALUES (1, true); +INSERT INTO "dummies" VALUES (2, true); + + +COMMENT ON DATABASE "booktown" IS 'The Book Town Database.'; + +-- +-- TOC Entry ID 33 (OID 3629264) +-- +-- Name: books Type: TABLE Owner: manager +-- + +CREATE TABLE "books" ( + "id" integer NOT NULL, + "title" text NOT NULL, + "author_id" integer, + "subject_id" integer, + Constraint "books_id_pkey" Primary Key ("id") +); + +-- +-- TOC Entry ID 47 (OID 2991733) +-- +-- Name: "plpgsql_call_handler" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "plpgsql_call_handler" () RETURNS opaque AS '/usr/local/pgsql/lib/plpgsql.so', 'plpgsql_call_handler' LANGUAGE 'C'; + +-- +-- TOC Entry ID 48 (OID 2991734) +-- +-- Name: plpgsql Type: PROCEDURAL LANGUAGE Owner: +-- + +CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER "plpgsql_call_handler" LANCOMPILER 'PL/pgSQL'; + +-- +-- TOC Entry ID 51 (OID 2991735) +-- +-- Name: "audit_bk" (integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "audit_bk" (integer) RETURNS integer AS ' + DECLARE + key ALIAS FOR $1; + table_data inventory%ROWTYPE; + BEGIN + INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key; + + IF NOT FOUND THEN + RAISE EXCEPTION ''View'' || key || '' not found ''; + END IF; + + return 1; +end; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 52 (OID 2991736) +-- +-- Name: "audit" (integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "audit" (integer) RETURNS integer AS ' + DECLARE + key ALIAS FOR $1; + table_data inventory%ROWTYPE; + BEGIN + INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key; + + IF NOT FOUND THEN + RAISE EXCEPTION ''View'' || key || '' not found ''; + END IF; + + return 1; +end; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 53 (OID 2991737) +-- +-- Name: "auditbk" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "auditbk" () RETURNS integer AS ' + DECLARE + key ALIAS FOR $1; + table_data inventory%ROWTYPE; + BEGIN + INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key; + + IF NOT FOUND THEN + RAISE EXCEPTION ''View'' || key || '' not found ''; + END IF; + + return 1; +end; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 54 (OID 2991738) +-- +-- Name: "audit_bk1" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "audit_bk1" () RETURNS opaque AS ' + DECLARE + key ALIAS FOR $1; + table_data inventory%ROWTYPE; + BEGIN + INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key; + + IF NOT FOUND THEN + RAISE EXCEPTION ''View'' || key || '' not found ''; + END IF; + + return 1; +end; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 73 (OID 2991835) +-- +-- Name: "test_check_a_id" () Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "test_check_a_id" () RETURNS opaque AS ' + BEGIN + -- checks to make sure the author id + -- inserted is not left blank or less than 100 + + IF NEW.a_id ISNULL THEN + RAISE EXCEPTION + ''The author id cannot be left blank!''; + ELSE + IF NEW.a_id < 100 THEN + RAISE EXCEPTION + ''Please insert a valid author id.''; + ELSE + RETURN NEW; + END IF; + END IF; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 66 (OID 2992619) +-- +-- Name: "audit_test" () Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "audit_test" () RETURNS opaque AS ' + BEGIN + + IF TG_OP = ''INSERT'' OR TG_OP = ''UPDATE'' THEN + + NEW.user_aud := current_user; + NEW.mod_time := ''NOW''; + + INSERT INTO inventory_audit SELECT * FROM inventory WHERE prod_id=NEW.prod_id; + + RETURN NEW; + + ELSE if TG_OP = ''DELETE'' THEN + INSERT INTO inventory_audit SELECT *, current_user, ''NOW'' FROM inventory WHERE prod_id=OLD.prod_id; + + RETURN OLD; + END IF; + END IF; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 67 (OID 3000878) +-- +-- Name: "first" () Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "first" () RETURNS integer AS ' + DecLarE + oNe IntEgER := 1; + bEGiN + ReTUrn oNE; + eNd; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 68 (OID 3000881) +-- +-- Name: "test" (integer) Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "test" (integer) RETURNS integer AS ' + + DECLARE + -- defines the variable as ALIAS + variable ALIAS FOR $1; + BEGIN + -- displays the variable after multiplying it by two + return variable * 2.0; + END; + ' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 69 (OID 3000991) +-- +-- Name: "you_me" (integer) Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "you_me" (integer) RETURNS integer AS ' + DECLARE + RENAME $1 TO user_no; + --you INTEGER := 5; + BEGIN + return user_no; + END;' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 62 (OID 3001136) +-- +-- Name: "count_by_two" (integer) Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "count_by_two" (integer) RETURNS integer AS ' + DECLARE + userNum ALIAS FOR $1; + i integer; + BEGIN + i := 1; + WHILE userNum[1] < 20 LOOP + i = i+1; + return userNum; + END LOOP; + + END; + ' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 63 (OID 3001139) +-- +-- Name: "me" () Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "me" () RETURNS text AS ' + DECLARE + you text := ''testing''; + RENAME you to me; + BEGIN + return me; + END;' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 64 (OID 3001149) +-- +-- Name: "display_cust" (integer) Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "display_cust" (integer) RETURNS text AS ' + DECLARE + -- declares an alias name for input + cust_num ALIAS FOR $1; + + -- declares a row type + cust_info customer%ROWTYPE; + BEGIN + -- puts information into the newly declared rowtype + SELECT into cust_info * + FROM customer + WHERE cust_id=cust_num; + + -- displays the customer lastname + -- extracted from the rowtype + return cust_info.lastname; + END; + ' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 65 (OID 3001151) +-- +-- Name: "mixed" () Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "mixed" () RETURNS integer AS ' + DecLarE + --assigns 1 to the oNe variable + oNe IntEgER + := 1; + + bEGiN + + --displays the value of oNe + ReTUrn oNe; + eNd; + ' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 12 (OID 3117548) +-- +-- Name: publishers Type: TABLE Owner: postgres +-- + +CREATE TABLE "publishers" ( + "id" integer NOT NULL, + "name" text, + "address" text, + Constraint "publishers_pkey" Primary Key ("id") +); + +-- +-- TOC Entry ID 55 (OID 3117729) +-- +-- Name: "compound_word" (text,text) Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "compound_word" (text,text) RETURNS text AS ' + DECLARE + -- defines an alias name for the two input values + word1 ALIAS FOR $1; + word2 ALIAS FOR $2; + BEGIN + -- displays the resulting joined words + RETURN word1 || word2; + END; + ' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 56 (OID 3117787) +-- +-- Name: "givename" () Type: FUNCTION Owner: example +-- + +CREATE FUNCTION "givename" () RETURNS opaque AS ' + DECLARE + tablename text; + BEGIN + + tablename = TG_RELNAME; + INSERT INTO INVENTORY values (123, tablename); + return old; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 14 (OID 3389594) +-- +-- Name: authors Type: TABLE Owner: manager +-- + +CREATE TABLE "authors" ( + "id" integer NOT NULL, + "last_name" text, + "first_name" text, + Constraint "authors_pkey" Primary Key ("id") +); + +-- +-- TOC Entry ID 15 (OID 3389632) +-- +-- Name: states Type: TABLE Owner: postgres +-- + +CREATE TABLE "states" ( + "id" integer NOT NULL, + "name" text, + "abbreviation" character(2), + Constraint "state_pkey" Primary Key ("id") +); + +-- +-- TOC Entry ID 16 (OID 3389702) +-- +-- Name: my_list Type: TABLE Owner: postgres +-- + +CREATE TABLE "my_list" ( + "todos" text +); + +-- +-- TOC Entry ID 17 (OID 3390348) +-- +-- Name: stock Type: TABLE Owner: postgres +-- + +CREATE TABLE "stock" ( + "isbn" text NOT NULL, + "cost" numeric(5,2), + "retail" numeric(5,2), + "stock" integer, + Constraint "stock_pkey" Primary Key ("isbn") +); + +-- +-- TOC Entry ID 4 (OID 3390416) +-- +-- Name: subject_ids Type: SEQUENCE Owner: postgres +-- + +CREATE SEQUENCE "subject_ids" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ; + +-- +-- TOC Entry ID 19 (OID 3390653) +-- +-- Name: numeric_values Type: TABLE Owner: postgres +-- + +CREATE TABLE "numeric_values" ( + "num" numeric(30,6) +); + +-- +-- TOC Entry ID 20 (OID 3390866) +-- +-- Name: daily_inventory Type: TABLE Owner: postgres +-- + +CREATE TABLE "daily_inventory" ( + "isbn" text, + "is_stocked" boolean +); + +-- +-- TOC Entry ID 21 (OID 3391084) +-- +-- Name: money_example Type: TABLE Owner: postgres +-- + +CREATE TABLE "money_example" ( + "money_cash" money, + "numeric_cash" numeric(6,2) +); + +-- +-- TOC Entry ID 22 (OID 3391184) +-- +-- Name: shipments Type: TABLE Owner: postgres +-- + +CREATE TABLE "shipments" ( + "id" integer DEFAULT nextval('"shipments_ship_id_seq"'::text) NOT NULL, + "customer_id" integer, + "isbn" text, + "ship_date" timestamp with time zone +); + +-- +-- TOC Entry ID 24 (OID 3391454) +-- +-- Name: customers Type: TABLE Owner: manager +-- + +CREATE TABLE "customers" ( + "id" integer NOT NULL, + "last_name" text, + "first_name" text, + Constraint "customers_pkey" Primary Key ("id") +); + +-- +-- TOC Entry ID 6 (OID 3574018) +-- +-- Name: book_ids Type: SEQUENCE Owner: postgres +-- + +CREATE SEQUENCE "book_ids" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ; + +-- +-- TOC Entry ID 26 (OID 3574043) +-- +-- Name: book_queue Type: TABLE Owner: postgres +-- + +CREATE TABLE "book_queue" ( + "title" text NOT NULL, + "author_id" integer, + "subject_id" integer, + "approved" boolean +); + +-- +-- TOC Entry ID 78 (OID 3574403) +-- +-- Name: "title" (integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "title" (integer) RETURNS text AS 'SELECT title from books where id = $1' LANGUAGE 'sql'; + +-- +-- TOC Entry ID 27 (OID 3574983) +-- +-- Name: stock_backup Type: TABLE Owner: postgres +-- + +CREATE TABLE "stock_backup" ( + "isbn" text, + "cost" numeric(5,2), + "retail" numeric(5,2), + "stock" integer +); + +-- +-- TOC Entry ID 89 (OID 3625934) +-- +-- Name: "double_price" (double precision) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "double_price" (double precision) RETURNS double precision AS ' + DECLARE + BEGIN + return $1 * 2; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 90 (OID 3625935) +-- +-- Name: "triple_price" (double precision) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "triple_price" (double precision) RETURNS double precision AS ' + DECLARE + -- Declare input_price as an alias for the + -- argument variable normally referenced with + -- the $1 identifier. + input_price ALIAS FOR $1; + + BEGIN + -- Return the input price multiplied by three. + RETURN input_price * 3; + END; + ' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 87 (OID 3625944) +-- +-- Name: "stock_amount" (integer,integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "stock_amount" (integer,integer) RETURNS integer AS ' + DECLARE + -- Declare aliases for function arguments. + b_id ALIAS FOR $1; + b_edition ALIAS FOR $2; + -- Declare variable to store the ISBN number. + b_isbn TEXT; + -- Declare variable to store the stock amount. + stock_amount INTEGER; + BEGIN + -- This SELECT INTO statement retrieves the ISBN + -- number of the row in the editions table that had + -- both the book ID number and edition number that + -- were provided as function arguments. + SELECT INTO b_isbn isbn FROM editions WHERE + book_id = b_id AND edition = b_edition; + + -- Check to see if the ISBN number retrieved + -- is NULL. This will happen if there is not an + -- existing book with both the ID number and edition + -- number specified in the function arguments. + -- If the ISBN is null, the function returns a + -- value of -1 and ends. + IF b_isbn IS NULL THEN + RETURN -1; + END IF; + + -- Retrieve the amount of books available from the + -- stock table and record the number in the + -- stock_amount variable. + SELECT INTO stock_amount stock FROM stock WHERE isbn = b_isbn; + + -- Return the amount of books available. + RETURN stock_amount; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 86 (OID 3625946) +-- +-- Name: "in_stock" (integer,integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "in_stock" (integer,integer) RETURNS boolean AS ' + DECLARE + b_id ALIAS FOR $1; + b_edition ALIAS FOR $2; + b_isbn TEXT; + stock_amount INTEGER; + BEGIN + -- This SELECT INTO statement retrieves the ISBN + -- number of the row in the editions table that had + -- both the book ID number and edition number that + -- were provided as function arguments. + SELECT INTO b_isbn isbn FROM editions WHERE + book_id = b_id AND edition = b_edition; + + -- Check to see if the ISBN number retrieved + -- is NULL. This will happen if there is not an + -- existing book with both the ID number and edition + -- number specified in the function arguments. + -- If the ISBN is null, the function returns a + -- FALSE value and ends. + IF b_isbn IS NULL THEN + RETURN FALSE; + END IF; + + -- Retrieve the amount of books available from the + -- stock table and record the number in the + -- stock_amount variable. + SELECT INTO stock_amount stock FROM stock WHERE isbn = b_isbn; + + -- Use an IF/THEN/ELSE check to see if the amount + -- of books available is less than, or equal to 0. + -- If so, return FALSE. If not, return TRUE. + IF stock_amount <= 0 THEN + RETURN FALSE; + ELSE + RETURN TRUE; + END IF; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 82 (OID 3626013) +-- +-- Name: "extract_all_titles" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "extract_all_titles" () RETURNS text AS ' + DECLARE + sub_id INTEGER; + text_output TEXT = '' ''; + sub_title TEXT; + row_data books%ROWTYPE; + BEGIN + FOR i IN 0..15 LOOP + SELECT INTO sub_title subject FROM subjects WHERE id = i; + text_output = text_output || '' +'' || sub_title || '': +''; + + FOR row_data IN SELECT * FROM books + WHERE subject_id = i LOOP + + IF NOT FOUND THEN + text_output := text_output || ''None. +''; + ELSE + text_output := text_output || row_data.title || '' +''; + END IF; + + END LOOP; + END LOOP; + RETURN text_output; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 79 (OID 3626052) +-- +-- Name: "books_by_subject" (text) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "books_by_subject" (text) RETURNS text AS ' + DECLARE + sub_title ALIAS FOR $1; + sub_id INTEGER; + found_text TEXT :=''''; + BEGIN + SELECT INTO sub_id id FROM subjects WHERE subject = sub_title; + RAISE NOTICE ''sub_id = %'',sub_id; + IF sub_title = ''all'' THEN + found_text := extract_all_titles(); + RETURN found_text; + ELSE IF sub_id >= 0 THEN + found_text := extract_title(sub_id); + RETURN '' +'' || sub_title || '': +'' || found_text; + END IF; + END IF; + RETURN ''Subject not found.''; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 81 (OID 3626590) +-- +-- Name: "add_two_loop" (integer,integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "add_two_loop" (integer,integer) RETURNS integer AS ' + DECLARE + + -- Declare aliases for function arguments. + + low_number ALIAS FOR $1; + high_number ALIAS FOR $2; + + -- Declare a variable to hold the result. + + result INTEGER = 0; + + BEGIN + + WHILE result != high_number LOOP + result := result + 1; + END LOOP; + + RETURN result; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 92 (OID 3627916) +-- +-- Name: "extract_all_titles2" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "extract_all_titles2" () RETURNS text AS ' + DECLARE + sub_id INTEGER; + text_output TEXT = '' ''; + sub_title TEXT; + row_data books%ROWTYPE; + BEGIN + FOR i IN 0..15 LOOP + SELECT INTO sub_title subject FROM subjects WHERE id = i; + text_output = text_output || '' +'' || sub_title || '': +''; + + FOR row_data IN SELECT * FROM books + WHERE subject_id = i LOOP + + text_output := text_output || row_data.title || '' +''; + + END LOOP; + END LOOP; + RETURN text_output; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 94 (OID 3627974) +-- +-- Name: "extract_title" (integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "extract_title" (integer) RETURNS text AS ' + DECLARE + sub_id ALIAS FOR $1; + text_output TEXT :='' +''; + row_data RECORD; + BEGIN + FOR row_data IN SELECT * FROM books + WHERE subject_id = sub_id ORDER BY title LOOP + text_output := text_output || row_data.title || '' +''; + END LOOP; + RETURN text_output; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 95 (OID 3628021) +-- +-- Name: "raise_test" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "raise_test" () RETURNS integer AS ' + DECLARE + + -- Declare an integer variable for testing. + + an_integer INTEGER = 1; + + BEGIN + + -- Raise a debug level message. + + RAISE DEBUG ''The raise_test() function began.''; + + an_integer = an_integer + 1; + + -- Raise a notice stating that the an_integer + -- variable was changed, then raise another notice + -- stating its new value. + + RAISE NOTICE ''Variable an_integer was changed.''; + RAISE NOTICE ''Variable an_integer value is now %.'',an_integer; + + -- Raise an exception. + + RAISE EXCEPTION ''Variable % changed. Aborting transaction.'',an_integer; + + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 93 (OID 3628069) +-- +-- Name: "add_shipment" (integer,text) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "add_shipment" (integer,text) RETURNS timestamp with time zone AS ' + DECLARE + customer_id ALIAS FOR $1; + isbn ALIAS FOR $2; + shipment_id INTEGER; + right_now timestamp; + BEGIN + right_now := ''now''; + SELECT INTO shipment_id id FROM shipments ORDER BY id DESC; + shipment_id := shipment_id + 1; + INSERT INTO shipments VALUES ( shipment_id, customer_id, isbn, right_now ); + RETURN right_now; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 102 (OID 3628076) +-- +-- Name: "ship_item" (text,text,text) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "ship_item" (text,text,text) RETURNS integer AS ' + DECLARE + l_name ALIAS FOR $1; + f_name ALIAS FOR $2; + book_isbn ALIAS FOR $3; + book_id INTEGER; + customer_id INTEGER; + + BEGIN + + SELECT INTO customer_id get_customer_id(l_name,f_name); + + IF customer_id = -1 THEN + RETURN -1; + END IF; + + SELECT INTO book_id book_id FROM editions WHERE isbn = book_isbn; + + IF NOT FOUND THEN + RETURN -1; + END IF; + + PERFORM add_shipment(customer_id,book_isbn); + + RETURN 1; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 103 (OID 3628114) +-- +-- Name: "check_book_addition" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "check_book_addition" () RETURNS opaque AS ' + DECLARE + id_number INTEGER; + book_isbn TEXT; + BEGIN + + SELECT INTO id_number id FROM customers WHERE id = NEW.customer_id; + + IF NOT FOUND THEN + RAISE EXCEPTION ''Invalid customer ID number.''; + END IF; + + SELECT INTO book_isbn isbn FROM editions WHERE isbn = NEW.isbn; + + IF NOT FOUND THEN + RAISE EXCEPTION ''Invalid ISBN.''; + END IF; + + UPDATE stock SET stock = stock -1 WHERE isbn = NEW.isbn; + + RETURN NEW; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 28 (OID 3628246) +-- +-- Name: stock_view Type: VIEW Owner: postgres +-- + +CREATE VIEW "stock_view" as SELECT stock.isbn, stock.retail, stock.stock FROM stock; + +CREATE MATERIALIZED VIEW "m_stock_view" as SELECT stock.isbn, stock.retail, stock.stock FROM stock; + +-- +-- TOC Entry ID 30 (OID 3628247) +-- +-- Name: favorite_books Type: TABLE Owner: manager +-- + +CREATE TABLE "favorite_books" ( + "employee_id" integer, + "books" text[] +); + +-- +-- TOC Entry ID 8 (OID 3628626) +-- +-- Name: shipments_ship_id_seq Type: SEQUENCE Owner: manager +-- + +CREATE SEQUENCE "shipments_ship_id_seq" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ; + +-- +-- TOC Entry ID 74 (OID 3628648) +-- +-- Name: "check_shipment_addition" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "check_shipment_addition" () RETURNS opaque AS ' + DECLARE + -- Declare a variable to hold the customer ID. + id_number INTEGER; + + -- Declare a variable to hold the ISBN. + book_isbn TEXT; + BEGIN + + -- If there is an ID number that matches the customer ID in + -- the new table, retrieve it from the customers table. + SELECT INTO id_number id FROM customers WHERE id = NEW.customer_id; + + -- If there was no matching ID number, raise an exception. + IF NOT FOUND THEN + RAISE EXCEPTION ''Invalid customer ID number.''; + END IF; + + -- If there is an ISBN that matches the ISBN specified in the + -- new table, retrieve it from the editions table. + SELECT INTO book_isbn isbn FROM editions WHERE isbn = NEW.isbn; + + -- If there is no matching ISBN, raise an exception. + IF NOT FOUND THEN + RAISE EXCEPTION ''Invalid ISBN.''; + END IF; + + -- If the previous checks succeeded, update the stock amount + -- for INSERT commands. + IF TG_OP = ''INSERT'' THEN + UPDATE stock SET stock = stock -1 WHERE isbn = NEW.isbn; + END IF; + + RETURN NEW; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 31 (OID 3628899) +-- +-- Name: employees Type: TABLE Owner: postgres +-- + +CREATE TABLE "employees" ( + "id" integer NOT NULL, + "last_name" text NOT NULL, + "first_name" text, + CONSTRAINT "employees_id" CHECK ((id > 100)), + Constraint "employees_pkey" Primary Key ("id") +); + +-- +-- TOC Entry ID 32 (OID 3629174) +-- +-- Name: editions Type: TABLE Owner: manager +-- + +CREATE TABLE "editions" ( + "isbn" text NOT NULL, + "book_id" integer, + "edition" integer, + "publisher_id" integer, + "publication" date, + "type" character(1), + CONSTRAINT "integrity" CHECK (((book_id NOTNULL) AND (edition NOTNULL))), + Constraint "pkey" Primary Key ("isbn") +); + +-- +-- TOC Entry ID 10 (OID 3629402) +-- +-- Name: author_ids Type: SEQUENCE Owner: manager +-- + +CREATE SEQUENCE "author_ids" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ; + +-- +-- TOC Entry ID 35 (OID 3629424) +-- +-- Name: distinguished_authors Type: TABLE Owner: manager +-- + +CREATE TABLE "distinguished_authors" ( + "award" text +) +INHERITS ("authors"); + +-- +-- TOC Entry ID 107 (OID 3726476) +-- +-- Name: "isbn_to_title" (text) Type: FUNCTION Owner: manager +-- + +CREATE FUNCTION "isbn_to_title" (text) RETURNS text AS 'SELECT title FROM books + JOIN editions AS e (isbn, id) + USING (id) + WHERE isbn = $1' LANGUAGE 'sql'; + +-- +-- TOC Entry ID 36 (OID 3727889) +-- +-- Name: favorite_authors Type: TABLE Owner: manager +-- + +CREATE TABLE "favorite_authors" ( + "employee_id" integer, + "authors_and_titles" text[] +); + +-- +-- TOC Entry ID 99 (OID 3728728) +-- +-- Name: "get_customer_name" (integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "get_customer_name" (integer) RETURNS text AS ' + DECLARE + + -- Declare aliases for user input. + customer_id ALIAS FOR $1; + + -- Declare variables to hold the customer name. + customer_fname TEXT; + customer_lname TEXT; + + BEGIN + + -- Retrieve the customer first and last name for the customer whose + -- ID matches the value supplied as a function argument. + SELECT INTO customer_fname, customer_lname + first_name, last_name FROM customers + WHERE id = customer_id; + + -- Return the name. + RETURN customer_fname || '' '' || customer_lname; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 100 (OID 3728729) +-- +-- Name: "get_customer_id" (text,text) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "get_customer_id" (text,text) RETURNS integer AS ' + DECLARE + + -- Declare aliases for user input. + l_name ALIAS FOR $1; + f_name ALIAS FOR $2; + + -- Declare a variable to hold the customer ID number. + customer_id INTEGER; + + BEGIN + + -- Retrieve the customer ID number of the customer whose first and last + -- name match the values supplied as function arguments. + SELECT INTO customer_id id FROM customers + WHERE last_name = l_name AND first_name = f_name; + + -- Return the ID number. + RETURN customer_id; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 101 (OID 3728730) +-- +-- Name: "get_author" (text) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "get_author" (text) RETURNS text AS ' + DECLARE + + -- Declare an alias for the function argument, + -- which should be the first name of an author. + f_name ALIAS FOR $1; + + -- Declare a variable with the same type as + -- the last_name field of the authors table. + l_name authors.last_name%TYPE; + + BEGIN + + -- Retrieve the last name of an author from the + -- authors table whose first name matches the + -- argument received by the function, and + -- insert it into the l_name variable. + SELECT INTO l_name last_name FROM authors WHERE first_name = f_name; + + -- Return the first name and last name, separated + -- by a space. + return f_name || '' '' || l_name; + + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 97 (OID 3728759) +-- +-- Name: "get_author" (integer) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "get_author" (integer) RETURNS text AS ' + DECLARE + + -- Declare an alias for the function argument, + -- which should be the id of the author. + author_id ALIAS FOR $1; + + -- Declare a variable that uses the structure of + -- the authors table. + found_author authors%ROWTYPE; + + BEGIN + + -- Retrieve a row of author information for + -- the author whose id number matches + -- the argument received by the function. + SELECT INTO found_author * FROM authors WHERE id = author_id; + + -- Return the first + RETURN found_author.first_name || '' '' || found_author.last_name; + + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 70 (OID 3743412) +-- +-- Name: "html_linebreaks" (text) Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "html_linebreaks" (text) RETURNS text AS ' + DECLARE + formatted_string text := ''''; + BEGIN + FOR i IN 0 .. length($1) LOOP + IF substr($1, i, 1) = '' +'' THEN + formatted_string := formatted_string || ''
''; + ELSE + formatted_string := formatted_string || substr($1, i, 1); + END IF; + END LOOP; + RETURN formatted_string; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 37 (OID 3751599) +-- +-- Name: text_sorting Type: TABLE Owner: postgres +-- + +CREATE TABLE "text_sorting" ( + "letter" character(1) +); + +-- +-- TOC Entry ID 38 (OID 3751882) +-- +-- Name: subjects Type: TABLE Owner: postgres +-- + +CREATE TABLE "subjects" ( + "id" integer NOT NULL, + "subject" text, + "location" text, + Constraint "subjects_pkey" Primary Key ("id") +); + +-- +-- TOC Entry ID 108 (OID 3751924) +-- +-- Name: sum(text) Type: AGGREGATE Owner: postgres +-- + +CREATE AGGREGATE sum ( BASETYPE = text, SFUNC = textcat, STYPE = text, INITCOND = '' ); + +-- +-- TOC Entry ID 39 (OID 3751975) +-- +-- Name: alternate_stock Type: TABLE Owner: postgres +-- + +CREATE TABLE "alternate_stock" ( + "isbn" text, + "cost" numeric(5,2), + "retail" numeric(5,2), + "stock" integer +); + +-- +-- TOC Entry ID 40 (OID 3752020) +-- +-- Name: book_backup Type: TABLE Owner: postgres +-- + +CREATE TABLE "book_backup" ( + "id" integer, + "title" text, + "author_id" integer, + "subject_id" integer +); + +-- +-- TOC Entry ID 80 (OID 3752102) +-- +-- Name: "sync_authors_and_books" () Type: FUNCTION Owner: postgres +-- + +CREATE FUNCTION "sync_authors_and_books" () RETURNS opaque AS ' + BEGIN + IF TG_OP = ''UPDATE'' THEN + UPDATE books SET author_id = new.id WHERE author_id = old.id; + END IF; + RETURN new; + END; +' LANGUAGE 'plpgsql'; + +-- +-- TOC Entry ID 41 (OID 4063343) +-- +-- Name: schedules Type: TABLE Owner: postgres +-- + +CREATE TABLE "schedules" ( + "employee_id" integer NOT NULL, + "schedule" text, + Constraint "schedules_pkey" Primary Key ("employee_id") +); + +-- +-- TOC Entry ID 42 (OID 4063653) +-- +-- Name: recent_shipments Type: VIEW Owner: postgres +-- + +CREATE VIEW "recent_shipments" as SELECT count(*) AS num_shipped, max(shipments.ship_date) AS max, b.title FROM ((shipments JOIN editions USING (isbn)) NATURAL JOIN books b(book_id)) GROUP BY b.title ORDER BY count(*) DESC; + +-- +-- Data for TOC Entry ID 112 (OID 3117548) +-- +-- Name: publishers Type: TABLE DATA Owner: postgres +-- + + +COPY "publishers" FROM stdin; +150 Kids Can Press Kids Can Press, 29 Birch Ave. Toronto,ONM4V 1E2 +91 Henry Holt & Company, Inc. Henry Holt & Company, Inc. 115 West 18th Street New York, NY 10011 +113 O'Reilly & Associates O'Reilly & Associates, Inc. 101 Morris St, Sebastopol, CA 95472 +62 Watson-Guptill Publications 1515 Boradway, New York, NY 10036 +105 Noonday Press Farrar Straus & Giroux Inc, 19 Union Square W, New York, NY 10003 +99 Ace Books The Berkley Publishing Group, Penguin Putnam Inc, 375 Hudson St, New York, NY 10014 +101 Roc Penguin Putnam Inc, 375 Hudson St, New York, NY 10014 +163 Mojo Press Mojo Press, PO Box 1215, Dripping Springs, TX 78720 +171 Books of Wonder Books of Wonder, 16 W. 18th St. New York, NY, 10011 +102 Penguin Penguin Putnam Inc, 375 Hudson St, New York, NY 10014 +75 Doubleday Random House, Inc, 1540 Broadway, New York, NY 10036 +65 HarperCollins HarperCollins Publishers, 10 E 53rd St, New York, NY 10022 +59 Random House Random House, Inc, 1540 Broadway, New York, NY 10036 +\. +-- +-- Data for TOC Entry ID 113 (OID 3389594) +-- +-- Name: authors Type: TABLE DATA Owner: manager +-- + + +COPY "authors" FROM stdin; +1111 Denham Ariel +1212 Worsley John +15990 Bourgeois Paulette +25041 Bianco Margery Williams +16 Alcott Louisa May +4156 King Stephen +1866 Herbert Frank +1644 Hogarth Burne +2031 Brown Margaret Wise +115 Poe Edgar Allen +7805 Lutz Mark +7806 Christiansen Tom +1533 Brautigan Richard +1717 Brite Poppy Z. +2112 Gorey Edward +2001 Clarke Arthur C. +1213 Brookins Andrew +\. +-- +-- Data for TOC Entry ID 114 (OID 3389632) +-- +-- Name: states Type: TABLE DATA Owner: postgres +-- + + +COPY "states" FROM stdin; +42 Washington WA +51 Oregon OR +\. +-- +-- Data for TOC Entry ID 115 (OID 3389702) +-- +-- Name: my_list Type: TABLE DATA Owner: postgres +-- + + +COPY "my_list" FROM stdin; +Pick up laundry. +Send out bills. +Wrap up Grand Unifying Theory for publication. +\. +-- +-- Data for TOC Entry ID 116 (OID 3390348) +-- +-- Name: stock Type: TABLE DATA Owner: postgres +-- + + +COPY "stock" FROM stdin; +0385121679 29.00 36.95 65 +039480001X 30.00 32.95 31 +0394900014 23.00 23.95 0 +044100590X 36.00 45.95 89 +0441172717 17.00 21.95 77 +0451160916 24.00 28.95 22 +0451198492 36.00 46.95 0 +0451457994 17.00 22.95 0 +0590445065 23.00 23.95 10 +0679803335 20.00 24.95 18 +0694003611 25.00 28.95 50 +0760720002 18.00 23.95 28 +0823015505 26.00 28.95 16 +0929605942 19.00 21.95 25 +1885418035 23.00 24.95 77 +0394800753 16.00 16.95 4 +\. +-- +-- Data for TOC Entry ID 117 (OID 3390653) +-- +-- Name: numeric_values Type: TABLE DATA Owner: postgres +-- + + +COPY "numeric_values" FROM stdin; +68719476736.000000 +68719476737.000000 +6871947673778.000000 +999999999999999999999999.999900 +999999999999999999999999.999999 +-999999999999999999999999.999999 +-100000000000000000000000.999999 +1.999999 +2.000000 +2.000000 +999999999999999999999999.999999 +999999999999999999999999.000000 +\. +-- +-- Data for TOC Entry ID 118 (OID 3390866) +-- +-- Name: daily_inventory Type: TABLE DATA Owner: postgres +-- + + +COPY "daily_inventory" FROM stdin; +039480001X t +044100590X t +0451198492 f +0394900014 f +0441172717 t +0451160916 f +0385121679 \N +\. +-- +-- Data for TOC Entry ID 119 (OID 3391084) +-- +-- Name: money_example Type: TABLE DATA Owner: postgres +-- + + +COPY "money_example" FROM stdin; +$12.24 12.24 +\. +-- +-- Data for TOC Entry ID 120 (OID 3391184) +-- +-- Name: shipments Type: TABLE DATA Owner: postgres +-- + + +COPY "shipments" FROM stdin; +375 142 039480001X 2001-08-06 09:29:21-07 +323 671 0451160916 2001-08-14 10:36:41-07 +998 1045 0590445065 2001-08-12 12:09:47-07 +749 172 0694003611 2001-08-11 10:52:34-07 +662 655 0679803335 2001-08-09 07:30:07-07 +806 1125 0760720002 2001-08-05 09:34:04-07 +102 146 0394900014 2001-08-11 13:34:08-07 +813 112 0385121679 2001-08-08 09:53:46-07 +652 724 1885418035 2001-08-14 13:41:39-07 +599 430 0929605942 2001-08-10 08:29:42-07 +969 488 0441172717 2001-08-14 08:42:58-07 +433 898 044100590X 2001-08-12 08:46:35-07 +660 409 0451457994 2001-08-07 11:56:42-07 +310 738 0451198492 2001-08-15 14:02:01-07 +510 860 0823015505 2001-08-14 07:33:47-07 +997 185 039480001X 2001-08-10 13:47:52-07 +999 221 0451160916 2001-08-14 13:45:51-07 +56 880 0590445065 2001-08-14 13:49:00-07 +72 574 0694003611 2001-08-06 07:49:44-07 +146 270 039480001X 2001-08-13 09:42:10-07 +981 652 0451160916 2001-08-08 08:36:44-07 +95 480 0590445065 2001-08-10 07:29:52-07 +593 476 0694003611 2001-08-15 11:57:40-07 +977 853 0679803335 2001-08-09 09:30:46-07 +117 185 0760720002 2001-08-07 13:00:48-07 +406 1123 0394900014 2001-08-13 09:47:04-07 +340 1149 0385121679 2001-08-12 13:39:22-07 +871 388 1885418035 2001-08-07 11:31:57-07 +1000 221 039480001X 2001-09-14 16:46:32-07 +1001 107 039480001X 2001-09-14 17:42:22-07 +754 107 0394800753 2001-08-11 09:55:05-07 +458 107 0394800753 2001-08-07 10:58:36-07 +189 107 0394800753 2001-08-06 11:46:36-07 +720 107 0394800753 2001-08-08 10:46:13-07 +1002 107 0394800753 2001-09-22 11:23:28-07 +2 107 0394800753 2001-09-22 20:58:56-07 +\. +-- +-- Data for TOC Entry ID 121 (OID 3391454) +-- +-- Name: customers Type: TABLE DATA Owner: manager +-- + + +COPY "customers" FROM stdin; +107 Jackson Annie +112 Gould Ed +142 Allen Chad +146 Williams James +172 Brown Richard +185 Morrill Eric +221 King Jenny +270 Bollman Julie +388 Morrill Royce +409 Holloway Christine +430 Black Jean +476 Clark James +480 Thomas Rich +488 Young Trevor +574 Bennett Laura +652 Anderson Jonathan +655 Olson Dave +671 Brown Chuck +723 Eisele Don +724 Holloway Adam +738 Gould Shirley +830 Robertson Royce +853 Black Wendy +860 Owens Tim +880 Robinson Tammy +898 Gerdes Kate +964 Gould Ramon +1045 Owens Jean +1125 Bollman Owen +1149 Becker Owen +1123 Corner Kathy +\. +-- +-- Data for TOC Entry ID 122 (OID 3574043) +-- +-- Name: book_queue Type: TABLE DATA Owner: postgres +-- + + +COPY "book_queue" FROM stdin; +Learning Python 7805 4 t +Perl Cookbook 7806 4 t +\. +-- +-- Data for TOC Entry ID 123 (OID 3574983) +-- +-- Name: stock_backup Type: TABLE DATA Owner: postgres +-- + + +COPY "stock_backup" FROM stdin; +0385121679 29.00 36.95 65 +039480001X 30.00 32.95 31 +0394800753 16.00 16.95 0 +0394900014 23.00 23.95 0 +044100590X 36.00 45.95 89 +0441172717 17.00 21.95 77 +0451160916 24.00 28.95 22 +0451198492 36.00 46.95 0 +0451457994 17.00 22.95 0 +0590445065 23.00 23.95 10 +0679803335 20.00 24.95 18 +0694003611 25.00 28.95 50 +0760720002 18.00 23.95 28 +0823015505 26.00 28.95 16 +0929605942 19.00 21.95 25 +1885418035 23.00 24.95 77 +\. +-- +-- Data for TOC Entry ID 124 (OID 3628247) +-- +-- Name: favorite_books Type: TABLE DATA Owner: manager +-- + + +COPY "favorite_books" FROM stdin; +102 {"The Hitchhiker's Guide to the Galaxy","The Restauraunt at the End of the Universe"} +103 {"There and Back Again: A Hobbit's Holiday","Kittens Squared"} +\. +-- +-- Data for TOC Entry ID 125 (OID 3628899) +-- +-- Name: employees Type: TABLE DATA Owner: postgres +-- + + +COPY "employees" FROM stdin; +101 Appel Vincent +102 Holloway Michael +105 Connoly Sarah +104 Noble Ben +103 Joble David +106 Hall Timothy +1008 Williams \N +\. +-- +-- Data for TOC Entry ID 126 (OID 3629174) +-- +-- Name: editions Type: TABLE DATA Owner: manager +-- + + +COPY "editions" FROM stdin; +039480001X 1608 1 59 1957-03-01 h +0451160916 7808 1 75 1981-08-01 p +0394800753 1590 1 59 1949-03-01 p +0590445065 25908 1 150 1987-03-01 p +0694003611 1501 1 65 1947-03-04 p +0679803335 1234 1 102 1922-01-01 p +0760720002 190 1 91 1868-01-01 p +0394900014 1608 1 59 1957-01-01 p +0385121679 7808 2 75 1993-10-01 h +1885418035 156 1 163 1995-03-28 p +0929605942 156 2 171 1998-12-01 p +0441172717 4513 2 99 1998-09-01 p +044100590X 4513 3 99 1999-10-01 h +0451457994 4267 3 101 2000-09-12 p +0451198492 4267 3 101 1999-10-01 h +0823015505 2038 1 62 1958-01-01 p +0596000855 41473 2 113 2001-03-01 p +\. +-- +-- Data for TOC Entry ID 127 (OID 3629264) +-- +-- Name: books Type: TABLE DATA Owner: manager +-- + + +COPY "books" FROM stdin; +7808 The Shining 4156 9 +4513 Dune 1866 15 +4267 2001: A Space Odyssey 2001 15 +1608 The Cat in the Hat 1809 2 +1590 Bartholomew and the Oobleck 1809 2 +25908 Franklin in the Dark 15990 2 +1501 Goodnight Moon 2031 2 +190 Little Women 16 6 +1234 The Velveteen Rabbit 25041 3 +2038 Dynamic Anatomy 1644 0 +156 The Tell-Tale Heart 115 9 +41473 Programming Python 7805 4 +41477 Learning Python 7805 4 +41478 Perl Cookbook 7806 4 +41472 Practical PostgreSQL 1212 4 +\. +-- +-- Data for TOC Entry ID 128 (OID 3629424) +-- +-- Name: distinguished_authors Type: TABLE DATA Owner: manager +-- + + +COPY "distinguished_authors" FROM stdin; +25043 Simon Neil Pulitzer Prize +1809 Geisel Theodor Seuss Pulitzer Prize +\. +-- +-- Data for TOC Entry ID 129 (OID 3727889) +-- +-- Name: favorite_authors Type: TABLE DATA Owner: manager +-- + + +COPY "favorite_authors" FROM stdin; +102 {{"J.R.R. Tolkien","The Silmarillion"},{"Charles Dickens","Great Expectations"},{"Ariel Denham","Attic Lives"}} +\. +-- +-- Data for TOC Entry ID 130 (OID 3751599) +-- +-- Name: text_sorting Type: TABLE DATA Owner: postgres +-- + + +COPY "text_sorting" FROM stdin; +0 +1 +2 +3 +A +B +C +D +a +b +c +d +\. +-- +-- Data for TOC Entry ID 131 (OID 3751882) +-- +-- Name: subjects Type: TABLE DATA Owner: postgres +-- + + +COPY "subjects" FROM stdin; +0 Arts Creativity St +1 Business Productivity Ave +2 Children's Books Kids Ct +3 Classics Academic Rd +4 Computers Productivity Ave +5 Cooking Creativity St +6 Drama Main St +7 Entertainment Main St +8 History Academic Rd +9 Horror Black Raven Dr +10 Mystery Black Raven Dr +11 Poetry Sunset Dr +12 Religion \N +13 Romance Main St +14 Science Productivity Ave +15 Science Fiction Main St +\. +-- +-- Data for TOC Entry ID 132 (OID 3751975) +-- +-- Name: alternate_stock Type: TABLE DATA Owner: postgres +-- + + +COPY "alternate_stock" FROM stdin; +0385121679 29.00 36.95 65 +039480001X 30.00 32.95 31 +0394900014 23.00 23.95 0 +044100590X 36.00 45.95 89 +0441172717 17.00 21.95 77 +0451160916 24.00 28.95 22 +0451198492 36.00 46.95 0 +0451457994 17.00 22.95 0 +0590445065 23.00 23.95 10 +0679803335 20.00 24.95 18 +0694003611 25.00 28.95 50 +0760720002 18.00 23.95 28 +0823015505 26.00 28.95 16 +0929605942 19.00 21.95 25 +1885418035 23.00 24.95 77 +0394800753 16.00 16.95 4 +\. +-- +-- Data for TOC Entry ID 133 (OID 3752020) +-- +-- Name: book_backup Type: TABLE DATA Owner: postgres +-- + + +COPY "book_backup" FROM stdin; +7808 The Shining 4156 9 +4513 Dune 1866 15 +4267 2001: A Space Odyssey 2001 15 +1608 The Cat in the Hat 1809 2 +1590 Bartholomew and the Oobleck 1809 2 +25908 Franklin in the Dark 15990 2 +1501 Goodnight Moon 2031 2 +190 Little Women 16 6 +1234 The Velveteen Rabbit 25041 3 +2038 Dynamic Anatomy 1644 0 +156 The Tell-Tale Heart 115 9 +41472 Practical PostgreSQL 1212 4 +41473 Programming Python 7805 4 +41477 Learning Python 7805 4 +41478 Perl Cookbook 7806 4 +7808 The Shining 4156 9 +4513 Dune 1866 15 +4267 2001: A Space Odyssey 2001 15 +1608 The Cat in the Hat 1809 2 +1590 Bartholomew and the Oobleck 1809 2 +25908 Franklin in the Dark 15990 2 +1501 Goodnight Moon 2031 2 +190 Little Women 16 6 +1234 The Velveteen Rabbit 25041 3 +2038 Dynamic Anatomy 1644 0 +156 The Tell-Tale Heart 115 9 +41473 Programming Python 7805 4 +41477 Learning Python 7805 4 +41478 Perl Cookbook 7806 4 +41472 Practical PostgreSQL 1212 4 +\. +-- +-- Data for TOC Entry ID 134 (OID 4063343) +-- +-- Name: schedules Type: TABLE DATA Owner: postgres +-- + + +COPY "schedules" FROM stdin; +102 Mon - Fri, 9am - 5pm +\. +-- +-- TOC Entry ID 45 (OID 3117548) +-- +-- Name: "unique_publisher_idx" Type: INDEX Owner: postgres +-- + +CREATE UNIQUE INDEX "unique_publisher_idx" on "publishers" using btree ( "name" "text_ops" ); + +-- +-- TOC Entry ID 43 (OID 3391184) +-- +-- Name: "shipments_ship_id_key" Type: INDEX Owner: postgres +-- + +CREATE UNIQUE INDEX "shipments_ship_id_key" on "shipments" using btree ( "id" "int4_ops" ); + +-- +-- TOC Entry ID 44 (OID 3629264) +-- +-- Name: "books_title_idx" Type: INDEX Owner: manager +-- + +CREATE INDEX "books_title_idx" on "books" using btree ( "title" "text_ops" ); + +-- +-- TOC Entry ID 46 (OID 3751599) +-- +-- Name: "text_idx" Type: INDEX Owner: postgres +-- + +CREATE INDEX "text_idx" on "text_sorting" using btree ( "letter" "bpchar_ops" ); + +-- +-- TOC Entry ID 136 (OID 3628649) +-- +-- Name: check_shipment Type: TRIGGER Owner: postgres +-- + +CREATE TRIGGER "check_shipment" BEFORE INSERT OR UPDATE ON "shipments" FOR EACH ROW EXECUTE PROCEDURE "check_shipment_addition" (); + +-- +-- TOC Entry ID 135 (OID 3752103) +-- +-- Name: sync_authors_books Type: TRIGGER Owner: manager +-- + +CREATE TRIGGER "sync_authors_books" BEFORE UPDATE ON "authors" FOR EACH ROW EXECUTE PROCEDURE "sync_authors_and_books" (); + +-- +-- TOC Entry ID 139 (OID 4063374) +-- +-- Name: "RI_ConstraintTrigger_4063373" Type: TRIGGER Owner: postgres +-- + +CREATE CONSTRAINT TRIGGER "valid_employee" AFTER INSERT OR UPDATE ON "schedules" FROM "employees" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_ins" ('valid_employee', 'schedules', 'employees', 'FULL', 'employee_id', 'id'); + +-- +-- TOC Entry ID 137 (OID 4063376) +-- +-- Name: "RI_ConstraintTrigger_4063375" Type: TRIGGER Owner: postgres +-- + +CREATE CONSTRAINT TRIGGER "valid_employee" AFTER DELETE ON "employees" FROM "schedules" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_noaction_del" ('valid_employee', 'schedules', 'employees', 'FULL', 'employee_id', 'id'); + +-- +-- TOC Entry ID 138 (OID 4063378) +-- +-- Name: "RI_ConstraintTrigger_4063377" Type: TRIGGER Owner: postgres +-- + +CREATE CONSTRAINT TRIGGER "valid_employee" AFTER UPDATE ON "employees" FROM "schedules" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_noaction_upd" ('valid_employee', 'schedules', 'employees', 'FULL', 'employee_id', 'id'); + +-- +-- TOC Entry ID 140 (OID 3752079) +-- +-- Name: sync_stock_with_editions Type: RULE Owner: manager +-- + +CREATE RULE sync_stock_with_editions AS ON UPDATE TO editions DO UPDATE stock SET isbn = new.isbn WHERE (stock.isbn = old.isbn); +-- +-- TOC Entry ID 5 (OID 3390416) +-- +-- Name: subject_ids Type: SEQUENCE SET Owner: +-- + +SELECT setval ('"subject_ids"', 15, 't'); + +-- +-- TOC Entry ID 7 (OID 3574018) +-- +-- Name: book_ids Type: SEQUENCE SET Owner: +-- + +SELECT setval ('"book_ids"', 41478, 't'); + +-- +-- TOC Entry ID 9 (OID 3628626) +-- +-- Name: shipments_ship_id_seq Type: SEQUENCE SET Owner: +-- + +SELECT setval ('"shipments_ship_id_seq"', 1011, 't'); + +-- +-- TOC Entry ID 11 (OID 3629402) +-- +-- Name: author_ids Type: SEQUENCE SET Owner: +-- + +SELECT setval ('"author_ids"', 25044, 't'); + diff --git a/data/invalid.toml b/data/invalid.toml new file mode 100644 index 0000000..36f52a5 --- /dev/null +++ b/data/invalid.toml @@ -0,0 +1 @@ +invalid encoding \ No newline at end of file diff --git a/data/roach.sql b/data/roach.sql new file mode 100644 index 0000000..c969947 --- /dev/null +++ b/data/roach.sql @@ -0,0 +1,43 @@ +DROP DATABASE IF EXISTS "roach"; +CREATE DATABASE "roach"; +USE "roach"; + +CREATE TABLE product_information ( + product_id INT PRIMARY KEY NOT NULL, + product_name STRING(50) UNIQUE NOT NULL, + product_description STRING(2000), + category_id STRING(1) NOT NULL CHECK (category_id IN ('A','B','C')), + weight_class INT, + warranty_period INT CONSTRAINT valid_warranty CHECK (warranty_period BETWEEN 0 AND 24), + supplier_id INT, + product_status STRING(20), + list_price DECIMAL(8,2), + min_price DECIMAL(8,2), + catalog_url STRING(50) UNIQUE, + date_added DATE DEFAULT CURRENT_DATE(), + misc JSONB, + CONSTRAINT price_check CHECK (list_price >= min_price), + INDEX date_added_idx (date_added), + INDEX supp_id_prod_status_idx (supplier_id, product_status), + INVERTED INDEX details (misc) +); + +INSERT INTO product_information VALUES + (1, 'Product A', 'Text', 'A', NULL, 1), + (2, 'Product B', 'Text', 'B', NULL, 2), + (3, 'Product C', 'Text', 'C', NULL, 3); + +CREATE TABLE customers ( + id INT PRIMARY KEY, + name STRING +); + +CREATE TABLE orders ( + id INT PRIMARY KEY, + customer_id INT REFERENCES customers(id) ON DELETE CASCADE +); + +INSERT INTO customers VALUES (1, 'Lauren'); +INSERT INTO orders VALUES (1,1); +DELETE FROM customers WHERE id = 1; +SELECT * FROM orders; \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..7902c73 --- /dev/null +++ b/go.mod @@ -0,0 +1,43 @@ +module github.com/sosedoff/pgweb + +go 1.17 + +// +heroku goVersion go1.17 + +require ( + github.com/BurntSushi/toml v0.3.1 + github.com/ScaleFT/sshkeys v0.0.0-20181112160850-82451a803681 + github.com/gin-gonic/gin v1.7.4 + github.com/jessevdk/go-flags v1.4.0 + github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0 + github.com/lib/pq v1.1.1 + github.com/mitchellh/go-homedir v1.0.0 + github.com/stretchr/testify v1.7.0 + github.com/tuvistavie/securerandom v0.0.0-20140719024926-15512123a948 + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 +) + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-playground/locales v0.14.0 // indirect + github.com/go-playground/universal-translator v0.18.0 // indirect + github.com/go-playground/validator/v10 v10.9.0 // indirect + github.com/go-sql-driver/mysql v1.5.0 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/leodido/go-urn v1.2.1 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-sqlite3 v1.14.6 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/mr-tron/base58 v1.2.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/ugorji/go/codec v1.2.6 // indirect + golang.org/x/sys v0.0.0-20210923061019-b8560ed6a9b7 // indirect + golang.org/x/text v0.3.7 // indirect + google.golang.org/protobuf v1.27.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..f6c15fc --- /dev/null +++ b/go.sum @@ -0,0 +1,132 @@ +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/ScaleFT/sshkeys v0.0.0-20181112160850-82451a803681 h1:JS2rl38kZmHgWa0xINSaSYH0Whtvem64/4+Ef0+Y5pE= +github.com/ScaleFT/sshkeys v0.0.0-20181112160850-82451a803681/go.mod h1:WfDateMPQ/55dPbZRp5Zxrux5WiEaHsjk9puUhz0KgY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a h1:saTgr5tMLFnmy/yg3qDTft4rE5DY2uJ/cCxCe3q0XTU= +github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a/go.mod h1:Bw9BbhOJVNR+t0jCqx2GC6zv0TGBsShs56Y3gfSCvl0= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.7.4 h1:QmUZXrvJ9qZ3GfWvQ+2wnW/1ePrTEJqPKMYEU3lD/DM= +github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-playground/validator/v10 v10.9.0 h1:NgTtmN58D0m8+UuxtYmGztBJB7VnPgjj221I1QHci2A= +github.com/go-playground/validator/v10 v10.9.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= +github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0 h1:5B0uxl2lzNRVkJVg+uGHxWtRt4C0Wjc6kJKo5XYx8xE= +github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4= +github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg= +github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= +github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tuvistavie/securerandom v0.0.0-20140719024926-15512123a948 h1:yL0l/u242MzDP6D0B5vGC+wxm5WRY+alQZy+dJk3bFI= +github.com/tuvistavie/securerandom v0.0.0-20140719024926-15512123a948/go.mod h1:a06d/M1pxWi51qiSrfGMHaEydtuXT06nha8N2aNQuXk= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go v1.2.6 h1:tGiWC9HENWE2tqYycIqFTNorMmFRVhNwCpDOpWqnk8E= +github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ= +github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210923061019-b8560ed6a9b7 h1:c20P3CcPbopVp2f7099WLOqSNKURf30Z0uq66HpijZY= +golang.org/x/sys v0.0.0-20210923061019-b8560ed6a9b7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/main.go b/main.go new file mode 100644 index 0000000..272bec1 --- /dev/null +++ b/main.go @@ -0,0 +1,9 @@ +package main + +import ( + "github.com/sosedoff/pgweb/pkg/cli" +) + +func main() { + cli.Run() +} diff --git a/pkg/api/api.go b/pkg/api/api.go new file mode 100644 index 0000000..c951727 --- /dev/null +++ b/pkg/api/api.go @@ -0,0 +1,548 @@ +package api + +import ( + "context" + "encoding/base64" + "fmt" + "net/http" + neturl "net/url" + "regexp" + "strings" + "time" + + "github.com/gin-gonic/gin" + "github.com/tuvistavie/securerandom" + + "github.com/sosedoff/pgweb/pkg/bookmarks" + "github.com/sosedoff/pgweb/pkg/client" + "github.com/sosedoff/pgweb/pkg/command" + "github.com/sosedoff/pgweb/pkg/connection" + "github.com/sosedoff/pgweb/pkg/shared" + "github.com/sosedoff/pgweb/static" +) + +var ( + // DbClient represents the active database connection in a single-session mode + DbClient *client.Client + + // DbSessions represents the mapping for client connections + DbSessions = map[string]*client.Client{} +) + +// DB returns a database connection from the client context +func DB(c *gin.Context) *client.Client { + if command.Opts.Sessions { + return DbSessions[getSessionId(c.Request)] + } + return DbClient +} + +// setClient sets the database client connection for the sessions +func setClient(c *gin.Context, newClient *client.Client) error { + currentClient := DB(c) + if currentClient != nil { + currentClient.Close() + } + + if !command.Opts.Sessions { + DbClient = newClient + return nil + } + + sid := getSessionId(c.Request) + if sid == "" { + return errSessionRequired + } + + DbSessions[sid] = newClient + return nil +} + +// GetHome renderes the home page +func GetHome(prefix string) http.Handler { + if prefix != "" { + prefix = "/" + prefix + } + return http.StripPrefix(prefix, http.FileServer(http.FS(static.Static))) +} + +func GetAssets(prefix string) http.Handler { + if prefix != "" { + prefix = "/" + prefix + "static/" + } else { + prefix = "/static/" + } + return http.StripPrefix(prefix, http.FileServer(http.FS(static.Static))) +} + +// GetSessions renders the number of active sessions +func GetSessions(c *gin.Context) { + // In debug mode endpoint will return a lot of sensitive information + // like full database connection string and all query history. + if command.Opts.Debug { + successResponse(c, DbSessions) + return + } + successResponse(c, gin.H{"sessions": len(DbSessions)}) +} + +// ConnectWithBackend creates a new connection based on backend resource +func ConnectWithBackend(c *gin.Context) { + // Setup a new backend client + backend := Backend{ + Endpoint: command.Opts.ConnectBackend, + Token: command.Opts.ConnectToken, + PassHeaders: command.Opts.ConnectHeaders, + } + + ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) + defer cancel() + + // Fetch connection credentials + cred, err := backend.FetchCredential(ctx, c.Param("resource"), c) + if err != nil { + badRequest(c, err) + return + } + + // Make the new session + sid, err := securerandom.Uuid() + if err != nil { + badRequest(c, err) + return + } + c.Request.Header.Add("x-session-id", sid) + + // Connect to the database + cl, err := client.NewFromUrl(cred.DatabaseURL, nil) + if err != nil { + badRequest(c, err) + return + } + cl.External = true + + // Finalize session seetup + _, err = cl.Info() + if err == nil { + err = setClient(c, cl) + } + if err != nil { + cl.Close() + badRequest(c, err) + return + } + + redirectURI := fmt.Sprintf("/%s?session=%s", command.Opts.Prefix, sid) + c.Redirect(302, redirectURI) +} + +// Connect creates a new client connection +func Connect(c *gin.Context) { + if command.Opts.LockSession { + badRequest(c, errSessionLocked) + return + } + + var sshInfo *shared.SSHInfo + url := c.Request.FormValue("url") + + if url == "" { + badRequest(c, errURLRequired) + return + } + + opts := command.Options{URL: url} + url, err := connection.FormatURL(opts) + + if err != nil { + badRequest(c, err) + return + } + + if c.Request.FormValue("ssh") != "" { + sshInfo = parseSshInfo(c) + } + + cl, err := client.NewFromUrl(url, sshInfo) + if err != nil { + badRequest(c, err) + return + } + + err = cl.Test() + if err != nil { + badRequest(c, err) + return + } + + info, err := cl.Info() + if err == nil { + err = setClient(c, cl) + } + if err != nil { + cl.Close() + badRequest(c, err) + return + } + + successResponse(c, info.Format()[0]) +} + +// SwitchDb perform database switch for the client connection +func SwitchDb(c *gin.Context) { + if command.Opts.LockSession { + badRequest(c, errSessionLocked) + return + } + + name := c.Request.URL.Query().Get("db") + if name == "" { + name = c.Request.FormValue("db") + } + if name == "" { + badRequest(c, errDatabaseNameRequired) + return + } + + conn := DB(c) + if conn == nil { + badRequest(c, errNotConnected) + return + } + + // Do not allow switching databases for connections from third-party backends + if conn.External { + badRequest(c, errSessionLocked) + return + } + + currentURL, err := neturl.Parse(conn.ConnectionString) + if err != nil { + badRequest(c, errInvalidConnString) + return + } + currentURL.Path = name + + cl, err := client.NewFromUrl(currentURL.String(), nil) + if err != nil { + badRequest(c, err) + return + } + + err = cl.Test() + if err != nil { + badRequest(c, err) + return + } + + info, err := cl.Info() + if err == nil { + err = setClient(c, cl) + } + if err != nil { + cl.Close() + badRequest(c, err) + return + } + + conn.Close() + + successResponse(c, info.Format()[0]) +} + +// Disconnect closes the current database connection +func Disconnect(c *gin.Context) { + if command.Opts.LockSession { + badRequest(c, errSessionLocked) + return + } + + conn := DB(c) + if conn == nil { + badRequest(c, errNotConnected) + return + } + + err := conn.Close() + if err != nil { + badRequest(c, err) + return + } + + successResponse(c, gin.H{"success": true}) +} + +// RunQuery executes the query +func RunQuery(c *gin.Context) { + query := cleanQuery(c.Request.FormValue("query")) + + if query == "" { + badRequest(c, errQueryRequired) + return + } + + HandleQuery(query, c) +} + +// ExplainQuery renders query explain plan +func ExplainQuery(c *gin.Context) { + query := cleanQuery(c.Request.FormValue("query")) + + if query == "" { + badRequest(c, errQueryRequired) + return + } + + HandleQuery(fmt.Sprintf("EXPLAIN %s", query), c) +} + +// AnalyzeQuery renders query explain plan and analyze profile +func AnalyzeQuery(c *gin.Context) { + query := cleanQuery(c.Request.FormValue("query")) + + if query == "" { + badRequest(c, errQueryRequired) + return + } + + HandleQuery(fmt.Sprintf("EXPLAIN ANALYZE %s", query), c) +} + +// GetDatabases renders a list of all databases on the server +func GetDatabases(c *gin.Context) { + if command.Opts.LockSession { + serveResult(c, []string{}, nil) + return + } + conn := DB(c) + if conn.External { + errorResponse(c, 403, errNotPermitted) + return + } + + names, err := DB(c).Databases() + serveResult(c, names, err) +} + +// GetObjects renders a list of database objects +func GetObjects(c *gin.Context) { + result, err := DB(c).Objects() + if err != nil { + badRequest(c, err) + return + } + successResponse(c, client.ObjectsFromResult(result)) +} + +// GetSchemas renders list of available schemas +func GetSchemas(c *gin.Context) { + res, err := DB(c).Schemas() + serveResult(c, res, err) +} + +// GetTable renders table information +func GetTable(c *gin.Context) { + var res *client.Result + var err error + + if c.Request.FormValue("type") == "materialized_view" { + res, err = DB(c).MaterializedView(c.Params.ByName("table")) + } else { + res, err = DB(c).Table(c.Params.ByName("table")) + } + + serveResult(c, res, err) +} + +// GetTableRows renders table rows +func GetTableRows(c *gin.Context) { + offset, err := parseIntFormValue(c, "offset", 0) + if err != nil { + badRequest(c, err) + return + } + + limit, err := parseIntFormValue(c, "limit", 100) + if err != nil { + badRequest(c, err) + return + } + + opts := client.RowsOptions{ + Limit: limit, + Offset: offset, + SortColumn: c.Request.FormValue("sort_column"), + SortOrder: c.Request.FormValue("sort_order"), + Where: c.Request.FormValue("where"), + } + + res, err := DB(c).TableRows(c.Params.ByName("table"), opts) + if err != nil { + badRequest(c, err) + return + } + + countRes, err := DB(c).TableRowsCount(c.Params.ByName("table"), opts) + if err != nil { + badRequest(c, err) + return + } + + numFetch := int64(opts.Limit) + numOffset := int64(opts.Offset) + numRows := countRes.Rows[0][0].(int64) + numPages := numRows / numFetch + + if numPages*numFetch < numRows { + numPages++ + } + + res.Pagination = &client.Pagination{ + Rows: numRows, + Page: (numOffset / numFetch) + 1, + Pages: numPages, + PerPage: numFetch, + } + + serveResult(c, res, err) +} + +// GetTableInfo renders a selected table information +func GetTableInfo(c *gin.Context) { + res, err := DB(c).TableInfo(c.Params.ByName("table")) + if err == nil { + successResponse(c, res.Format()[0]) + } else { + badRequest(c, err) + } +} + +// GetHistory renders a list of recent queries +func GetHistory(c *gin.Context) { + successResponse(c, DB(c).History) +} + +// GetConnectionInfo renders information about current connection +func GetConnectionInfo(c *gin.Context) { + res, err := DB(c).Info() + + if err != nil { + badRequest(c, err) + return + } + + info := res.Format()[0] + info["session_lock"] = command.Opts.LockSession + + successResponse(c, info) +} + +// GetActivity renders a list of running queries +func GetActivity(c *gin.Context) { + res, err := DB(c).Activity() + serveResult(c, res, err) +} + +// GetTableIndexes renders a list of database table indexes +func GetTableIndexes(c *gin.Context) { + res, err := DB(c).TableIndexes(c.Params.ByName("table")) + serveResult(c, res, err) +} + +// GetTableConstraints renders a list of database constraints +func GetTableConstraints(c *gin.Context) { + res, err := DB(c).TableConstraints(c.Params.ByName("table")) + serveResult(c, res, err) +} + +// HandleQuery runs the database query +func HandleQuery(query string, c *gin.Context) { + rawQuery, err := base64.StdEncoding.DecodeString(desanitize64(query)) + if err == nil { + query = string(rawQuery) + } + + result, err := DB(c).Query(query) + if err != nil { + badRequest(c, err) + return + } + + format := getQueryParam(c, "format") + filename := getQueryParam(c, "filename") + + if filename == "" { + filename = fmt.Sprintf("pgweb-%v.%v", time.Now().Unix(), format) + } + + if format != "" { + c.Writer.Header().Set("Content-disposition", "attachment;filename="+filename) + } + + switch format { + case "csv": + c.Data(200, "text/csv", result.CSV()) + case "json": + c.Data(200, "application/json", result.JSON()) + case "xml": + c.XML(200, result) + default: + c.JSON(200, result) + } +} + +// GetBookmarks renders the list of available bookmarks +func GetBookmarks(c *gin.Context) { + bookmarks, err := bookmarks.ReadAll(bookmarks.Path(command.Opts.BookmarksDir)) + serveResult(c, bookmarks, err) +} + +// GetInfo renders the pgweb system information +func GetInfo(c *gin.Context) { + successResponse(c, gin.H{ + "version": command.Version, + "go_version": command.GoVersion, + "git_sha": command.GitCommit, + "build_time": command.BuildTime, + }) +} + +// DataExport performs database table export +func DataExport(c *gin.Context) { + db := DB(c) + + info, err := db.Info() + if err != nil { + badRequest(c, err) + return + } + + dump := client.Dump{ + Table: strings.TrimSpace(c.Request.FormValue("table")), + } + + // If pg_dump is not available the following code will not show an error in browser. + // This is due to the headers being written first. + if !dump.CanExport() { + badRequest(c, errPgDumpNotFound) + return + } + + formattedInfo := info.Format()[0] + filename := formattedInfo["current_database"].(string) + if dump.Table != "" { + filename = filename + "_" + dump.Table + } + reg := regexp.MustCompile("[^._\\w]+") + cleanFilename := reg.ReplaceAllString(filename, "") + + c.Header( + "Content-Disposition", + fmt.Sprintf(`attachment; filename="%s.sql.gz"`, cleanFilename), + ) + + err = dump.Export(db.ConnectionString, c.Writer) + if err != nil { + badRequest(c, err) + } +} diff --git a/pkg/api/api_test.go b/pkg/api/api_test.go new file mode 100644 index 0000000..bb8a7f2 --- /dev/null +++ b/pkg/api/api_test.go @@ -0,0 +1,40 @@ +package api + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_assetContentType(t *testing.T) { + samples := map[string]string{ + "foo.html": "text/html; charset=utf-8", + "foo.css": "text/css; charset=utf-8", + "foo.js": "application/javascript", + "foo.icon": "image-x-icon", + "foo.png": "image/png", + "foo.jpg": "image/jpeg", + "foo.gif": "image/gif", + "foo.eot": "application/vnd.ms-fontobject", + "foo.svg": "image/svg+xml", + "foo.foo": "text/plain; charset=utf-8", + "foo": "text/plain; charset=utf-8", + } + + alternatives := map[string]string{ + "foo.js": "text/javascript; charset=utf-8", + } + + for name, expected := range samples { + if alternatives[name] == "" { + assert.Equal(t, expected, assetContentType(name)) + continue + } + + actual := assetContentType(name) + + if actual != expected && actual != alternatives[name] { + t.Errorf("expected %v but got %v (alternative value failed)", expected, actual) + } + } +} diff --git a/pkg/api/backend.go b/pkg/api/backend.go new file mode 100644 index 0000000..2d6ac2f --- /dev/null +++ b/pkg/api/backend.go @@ -0,0 +1,81 @@ +package api + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "log" + "net/http" + "strings" + + "github.com/gin-gonic/gin" +) + +// Backend represents a third party configuration source +type Backend struct { + Endpoint string + Token string + PassHeaders string +} + +// BackendRequest represents a payload sent to the third-party source +type BackendRequest struct { + Resource string `json:"resource"` + Token string `json:"token"` + Headers map[string]string `json:"headers"` +} + +// BackendCredential represents the third-party response +type BackendCredential struct { + DatabaseURL string `json:"database_url"` +} + +// FetchCredential sends an authentication request to a third-party service +func (be Backend) FetchCredential(ctx context.Context, resource string, c *gin.Context) (*BackendCredential, error) { + request := BackendRequest{ + Resource: resource, + Token: be.Token, + Headers: map[string]string{}, + } + + // Pass white-listed client headers to the backend request + for _, name := range strings.Split(be.PassHeaders, ",") { + request.Headers[strings.ToLower(name)] = c.Request.Header.Get(name) + } + + body, err := json.Marshal(request) + if err != nil { + log.Println("[BACKEND] backend request serialization error:", err) + + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, http.MethodPost, be.Endpoint, bytes.NewReader(body)) + if err != nil { + return nil, err + } + req.Header.Set("content-type", "application/json") + + resp, err := http.DefaultClient.Do(req) + if err != nil { + // Any connection-related issues will show up in the server log + log.Println("[BACKEND] unable to fetch credential:", err) + return nil, errBackendConnectError + } + defer resp.Body.Close() + + if resp.StatusCode != 200 { + return nil, fmt.Errorf("received HTTP status code %v", resp.StatusCode) + } + + cred := &BackendCredential{} + if err := json.NewDecoder(resp.Body).Decode(cred); err != nil { + return nil, err + } + if cred.DatabaseURL == "" { + return nil, errConnStringRequired + } + + return cred, nil +} diff --git a/pkg/api/backend_test.go b/pkg/api/backend_test.go new file mode 100644 index 0000000..c10be7e --- /dev/null +++ b/pkg/api/backend_test.go @@ -0,0 +1,148 @@ +package api + +import ( + "context" + "errors" + "net/http" + "testing" + "time" + + "github.com/gin-gonic/gin" + "github.com/stretchr/testify/assert" +) + +func TestBackendFetchCredential(t *testing.T) { + examples := []struct { + name string + backend Backend + resourceName string + cred *BackendCredential + reqCtx *gin.Context + ctx func() (context.Context, context.CancelFunc) + err error + }{ + { + name: "Bad auth token", + backend: Backend{Endpoint: "http://localhost:5555/unauthorized"}, + err: errors.New("received HTTP status code 401"), + }, + { + name: "Backend timeout", + backend: Backend{Endpoint: "http://localhost:5555/timeout"}, + ctx: func() (context.Context, context.CancelFunc) { + return context.WithTimeout(context.Background(), time.Millisecond*100) + }, + err: errors.New("Unable to connect to the auth backend"), + }, + { + name: "Empty response", + backend: Backend{Endpoint: "http://localhost:5555/empty-response"}, + err: errors.New("Connection string is required"), + }, + { + name: "Missing header", + backend: Backend{Endpoint: "http://localhost:5555/pass-header"}, + err: errors.New("received HTTP status code 400"), + }, + { + name: "Require header", + backend: Backend{ + Endpoint: "http://localhost:5555/pass-header", + PassHeaders: "x-foo", + }, + reqCtx: &gin.Context{ + Request: &http.Request{ + Header: http.Header{ + "X-Foo": []string{"bar"}, + }, + }, + }, + cred: &BackendCredential{DatabaseURL: "postgres://hostname/bar"}, + }, + { + name: "Success", + backend: Backend{Endpoint: "http://localhost:5555/success"}, + cred: &BackendCredential{DatabaseURL: "postgres://hostname/dbname"}, + }, + } + + srvCtx, srvCancel := context.WithTimeout(context.Background(), time.Minute) + defer srvCancel() + + go startTestBackend(srvCtx, "localhost:5555") + + for _, ex := range examples { + t.Run(ex.name, func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + if ex.ctx != nil { + ctx, cancel = ex.ctx() + } + defer cancel() + + reqCtx := ex.reqCtx + if reqCtx == nil { + reqCtx = &gin.Context{ + Request: &http.Request{}, + } + } + + cred, err := ex.backend.FetchCredential(ctx, ex.resourceName, reqCtx) + assert.Equal(t, ex.err, err) + assert.Equal(t, ex.cred, cred) + }) + } +} + +func startTestBackend(ctx context.Context, listenAddr string) { + router := gin.New() + + router.Use(func(c *gin.Context) { + if c.GetHeader("content-type") != "application/json" { + c.AbortWithStatus(http.StatusBadRequest) + } + }) + + router.POST("/unauthorized", func(c *gin.Context) { + c.JSON(http.StatusUnauthorized, gin.H{"error": "Unauthorized"}) + }) + + router.POST("/timeout", func(c *gin.Context) { + time.Sleep(time.Second) + c.JSON(http.StatusOK, gin.H{}) + }) + + router.POST("/empty-response", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{}) + }) + + router.POST("/pass-header", func(c *gin.Context) { + req := BackendRequest{} + if err := c.BindJSON(&req); err != nil { + panic(err) + } + + header := req.Headers["x-foo"] + if header == "" { + c.AbortWithStatus(http.StatusBadRequest) + return + } + + c.JSON(http.StatusOK, gin.H{ + "database_url": "postgres://hostname/" + header, + }) + }) + + router.POST("/success", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{ + "database_url": "postgres://hostname/dbname", + }) + }) + + server := &http.Server{Addr: listenAddr, Handler: router} + go server.ListenAndServe() + + select { + case <-ctx.Done(): + server.Shutdown(context.Background()) + } +} diff --git a/pkg/api/errors.go b/pkg/api/errors.go new file mode 100644 index 0000000..54f8d80 --- /dev/null +++ b/pkg/api/errors.go @@ -0,0 +1,19 @@ +package api + +import ( + "errors" +) + +var ( + errNotConnected = errors.New("Not connected") + errNotPermitted = errors.New("Not permitted") + errConnStringRequired = errors.New("Connection string is required") + errInvalidConnString = errors.New("Invalid connection string") + errSessionRequired = errors.New("Session ID is required") + errSessionLocked = errors.New("Session is locked") + errURLRequired = errors.New("URL parameter is required") + errQueryRequired = errors.New("Query parameter is required") + errDatabaseNameRequired = errors.New("Database name is required") + errPgDumpNotFound = errors.New("pg_dump utility is not found") + errBackendConnectError = errors.New("Unable to connect to the auth backend") +) diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go new file mode 100644 index 0000000..f56093a --- /dev/null +++ b/pkg/api/helpers.go @@ -0,0 +1,180 @@ +package api + +import ( + "fmt" + "mime" + "net/http" + "path/filepath" + "strconv" + "strings" + + "github.com/gin-gonic/gin" + + "github.com/sosedoff/pgweb/pkg/shared" +) + +var ( + // Mime types definitions + extraMimeTypes = map[string]string{ + ".icon": "image-x-icon", + ".ttf": "application/x-font-ttf", + ".woff": "application/x-font-woff", + ".eot": "application/vnd.ms-fontobject", + ".svg": "image/svg+xml", + ".html": "text/html; charset-utf-8", + } + + // Paths that dont require database connection + allowedPaths = map[string]bool{ + "/api/sessions": true, + "/api/info": true, + "/api/connect": true, + "/api/bookmarks": true, + "/api/history": true, + } + + // List of characters replaced by javascript code to make queries url-safe. + base64subs = map[string]string{ + "-": "+", + "_": "/", + ".": "=", + } +) + +type Error struct { + Message string `json:"error"` +} + +func NewError(err error) Error { + return Error{err.Error()} +} + +// Returns a clean query without any comment statements +func cleanQuery(query string) string { + lines := []string{} + + for _, line := range strings.Split(query, "\n") { + line = strings.TrimSpace(line) + if strings.HasPrefix(line, "--") { + continue + } + lines = append(lines, line) + } + + return strings.TrimSpace(strings.Join(lines, "\n")) +} + +func desanitize64(query string) string { + // Before feeding the string into decoded, we must "reconstruct" the base64 data. + // Javascript replaces a few characters to be url-safe. + for olds, news := range base64subs { + query = strings.Replace(query, olds, news, -1) + } + + return query +} + +func getSessionId(req *http.Request) string { + id := req.Header.Get("x-session-id") + if id == "" { + id = req.URL.Query().Get("_session_id") + } + return id +} + +func getQueryParam(c *gin.Context, name string) string { + result := "" + q := c.Request.URL.Query() + + if len(q[name]) > 0 { + result = q[name][0] + } + + return result +} + +func parseIntFormValue(c *gin.Context, name string, defValue int) (int, error) { + val := c.Request.FormValue(name) + + if val == "" { + return defValue, nil + } + + num, err := strconv.Atoi(val) + if err != nil { + return defValue, fmt.Errorf("%s must be a number", name) + } + + if num < 1 && defValue != 0 { + return defValue, fmt.Errorf("%s must be greater than 0", name) + } + + return num, nil +} + +func parseSshInfo(c *gin.Context) *shared.SSHInfo { + info := shared.SSHInfo{ + Host: c.Request.FormValue("ssh_host"), + Port: c.Request.FormValue("ssh_port"), + User: c.Request.FormValue("ssh_user"), + Password: c.Request.FormValue("ssh_password"), + Key: c.Request.FormValue("ssh_key"), + KeyPassword: c.Request.FormValue("ssh_key_password"), + } + + if info.Port == "" { + info.Port = "22" + } + + return &info +} + +func assetContentType(name string) string { + ext := filepath.Ext(name) + result := mime.TypeByExtension(ext) + + if result == "" { + result = extraMimeTypes[ext] + } + + if result == "" { + result = "text/plain; charset=utf-8" + } + + return result +} + +// Send a query result to client +func serveResult(c *gin.Context, result interface{}, err interface{}) { + if err == nil { + successResponse(c, result) + } else { + badRequest(c, err) + } +} + +// Send successful response back to client +func successResponse(c *gin.Context, data interface{}) { + c.JSON(200, data) +} + +// Send an error response back to client +func errorResponse(c *gin.Context, status int, err interface{}) { + var message interface{} + + switch v := err.(type) { + case error: + message = v.Error() + case string: + message = v + default: + message = v + } + + c.AbortWithStatusJSON(status, gin.H{"status": status, "error": message}) +} + +// Send a bad request (http 400) back to client +func badRequest(c *gin.Context, err interface{}) { + errorResponse(c, 400, err) +} diff --git a/pkg/api/helpers_test.go b/pkg/api/helpers_test.go new file mode 100644 index 0000000..7738d10 --- /dev/null +++ b/pkg/api/helpers_test.go @@ -0,0 +1,72 @@ +package api + +import ( + "errors" + "net/http" + "net/http/httptest" + "net/url" + "testing" + + "github.com/gin-gonic/gin" + "github.com/stretchr/testify/assert" +) + +func Test_desanitize64(t *testing.T) { + examples := map[string]string{ + "test": "test", + "test+test+": "test-test-", + "test/test/": "test_test_", + "test=test==": "test.test..", + } + + for expected, example := range examples { + assert.Equal(t, expected, desanitize64(example)) + } +} + +func Test_cleanQuery(t *testing.T) { + assert.Equal(t, "a\nb\nc", cleanQuery("a\nb\nc")) + assert.Equal(t, "", cleanQuery("--something")) + assert.Equal(t, "test", cleanQuery("--test\ntest\n -- test\n")) +} + +func Test_getSessionId(t *testing.T) { + req := &http.Request{Header: http.Header{}} + req.Header.Add("x-session-id", "token") + assert.Equal(t, "token", getSessionId(req)) + + req = &http.Request{} + req.URL, _ = url.Parse("http://foobar/?_session_id=token") + assert.Equal(t, "token", getSessionId(req)) +} + +func Test_serveResult(t *testing.T) { + server := gin.Default() + server.GET("/good", func(c *gin.Context) { + serveResult(c, gin.H{"foo": "bar"}, nil) + }) + server.GET("/bad", func(c *gin.Context) { + serveResult(c, nil, errors.New("message")) + }) + server.GET("/nodata", func(c *gin.Context) { + serveResult(c, nil, nil) + }) + + w := httptest.NewRecorder() + req, _ := http.NewRequest("GET", "/good", nil) + server.ServeHTTP(w, req) + assert.Equal(t, 200, w.Code) + assert.Equal(t, `{"foo":"bar"}`, w.Body.String()) + + w = httptest.NewRecorder() + req, _ = http.NewRequest("GET", "/bad", nil) + server.ServeHTTP(w, req) + assert.Equal(t, 400, w.Code) + assert.Equal(t, `{"error":"message","status":400}`, w.Body.String()) + + w = httptest.NewRecorder() + req, _ = http.NewRequest("GET", "/nodata", nil) + server.ServeHTTP(w, req) + assert.Equal(t, 200, w.Code) + assert.Equal(t, `null`, w.Body.String()) +} diff --git a/pkg/api/middleware.go b/pkg/api/middleware.go new file mode 100644 index 0000000..f20dffb --- /dev/null +++ b/pkg/api/middleware.go @@ -0,0 +1,67 @@ +package api + +import ( + "log" + "strings" + + "github.com/gin-gonic/gin" + + "github.com/sosedoff/pgweb/pkg/command" +) + +// Middleware to check database connection status before running queries +func dbCheckMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + path := strings.Replace(c.Request.URL.Path, command.Opts.Prefix, "", -1) + + // Allow whitelisted paths + if allowedPaths[path] { + c.Next() + return + } + + // Check if session exists in single-session mode + if !command.Opts.Sessions { + if DbClient == nil { + badRequest(c, errNotConnected) + return + } + + c.Next() + return + } + + // Determine session ID from the client request + sid := getSessionId(c.Request) + if sid == "" { + badRequest(c, errSessionRequired) + return + } + + // Determine the database connection handle for the session + conn := DbSessions[sid] + if conn == nil { + badRequest(c, errNotConnected) + return + } + + c.Next() + } +} + +// Middleware to print out request parameters and body for debugging +func requestInspectMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + err := c.Request.ParseForm() + log.Println("Request params:", err, c.Request.Form) + } +} + +// Middleware to inject CORS headers +func corsMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + c.Header("Access-Control-Allow-Methods", "GET, POST, OPTIONS") + c.Header("Access-Control-Expose-Headers", "*") + c.Header("Access-Control-Allow-Origin", command.Opts.CorsOrigin) + } +} diff --git a/pkg/api/routes.go b/pkg/api/routes.go new file mode 100644 index 0000000..3f94f5f --- /dev/null +++ b/pkg/api/routes.go @@ -0,0 +1,58 @@ +package api + +import ( + "github.com/gin-gonic/gin" + + "github.com/sosedoff/pgweb/pkg/command" +) + +func SetupMiddlewares(group *gin.RouterGroup) { + if command.Opts.Debug { + group.Use(requestInspectMiddleware()) + } + + if command.Opts.Cors { + group.Use(corsMiddleware()) + } + + group.Use(dbCheckMiddleware()) +} + +func SetupRoutes(router *gin.Engine) { + root := router.Group(command.Opts.Prefix) + + root.GET("/", gin.WrapH(GetHome(command.Opts.Prefix))) + root.GET("/static/*path", gin.WrapH(GetAssets(command.Opts.Prefix))) + root.GET("/connect/:resource", ConnectWithBackend) + + api := root.Group("/api") + SetupMiddlewares(api) + + if command.Opts.Sessions { + api.GET("/sessions", GetSessions) + } + + api.GET("/info", GetInfo) + api.POST("/connect", Connect) + api.POST("/disconnect", Disconnect) + api.POST("/switchdb", SwitchDb) + api.GET("/databases", GetDatabases) + api.GET("/connection", GetConnectionInfo) + api.GET("/activity", GetActivity) + api.GET("/schemas", GetSchemas) + api.GET("/objects", GetObjects) + api.GET("/tables/:table", GetTable) + api.GET("/tables/:table/rows", GetTableRows) + api.GET("/tables/:table/info", GetTableInfo) + api.GET("/tables/:table/indexes", GetTableIndexes) + api.GET("/tables/:table/constraints", GetTableConstraints) + api.GET("/query", RunQuery) + api.POST("/query", RunQuery) + api.GET("/explain", ExplainQuery) + api.POST("/explain", ExplainQuery) + api.GET("/analyze", AnalyzeQuery) + api.POST("/analyze", AnalyzeQuery) + api.GET("/history", GetHistory) + api.GET("/bookmarks", GetBookmarks) + api.GET("/export", DataExport) +} diff --git a/pkg/api/session_cleanup.go b/pkg/api/session_cleanup.go new file mode 100644 index 0000000..862d121 --- /dev/null +++ b/pkg/api/session_cleanup.go @@ -0,0 +1,41 @@ +package api + +import ( + "log" + "time" + + "github.com/sosedoff/pgweb/pkg/command" +) + +// StartSessionCleanup starts a goroutine to cleanup idle database sessions +func StartSessionCleanup() { + for range time.Tick(time.Minute) { + if command.Opts.Debug { + log.Println("Triggering idle session deletion") + } + cleanupIdleSessions() + } +} + +func cleanupIdleSessions() { + ids := []string{} + + // Figure out which sessions are idle + for id, client := range DbSessions { + if client.IsIdle() { + ids = append(ids, id) + } + } + if len(ids) == 0 { + return + } + + // Close and delete idle sessions + log.Println("Closing", len(ids), "idle sessions") + for _, id := range ids { + // TODO: concurrent map edit will trigger panic + if err := DbSessions[id].Close(); err == nil { + delete(DbSessions, id) + } + } +} diff --git a/pkg/bookmarks/bookmarks.go b/pkg/bookmarks/bookmarks.go new file mode 100644 index 0000000..2648b04 --- /dev/null +++ b/pkg/bookmarks/bookmarks.go @@ -0,0 +1,141 @@ +package bookmarks + +import ( + "fmt" + "io/ioutil" + "path/filepath" + "strings" + + "github.com/BurntSushi/toml" + "github.com/mitchellh/go-homedir" + + "github.com/sosedoff/pgweb/pkg/command" + "github.com/sosedoff/pgweb/pkg/shared" +) + +// Bookmark contains information about bookmarked database connection +type Bookmark struct { + URL string `json:"url"` // Postgres connection URL + Host string `json:"host"` // Server hostname + Port int `json:"port"` // Server port + User string `json:"user"` // Database user + Password string `json:"password"` // User password + Database string `json:"database"` // Database name + Ssl string `json:"ssl"` // Connection SSL mode + SSH *shared.SSHInfo `json:"ssh"` // SSH tunnel config +} + +// SSHInfoIsEmpty returns true if ssh configration is not provided +func (b Bookmark) SSHInfoIsEmpty() bool { + return b.SSH == nil || b.SSH.User == "" && b.SSH.Host == "" && b.SSH.Port == "" +} + +// ConvertToOptions returns an options struct from connection details +func (b Bookmark) ConvertToOptions() command.Options { + return command.Options{ + URL: b.URL, + Host: b.Host, + Port: b.Port, + User: b.User, + Pass: b.Password, + DbName: b.Database, + Ssl: b.Ssl, + } +} + +func readServerConfig(path string) (Bookmark, error) { + bookmark := Bookmark{} + + buff, err := ioutil.ReadFile(path) + if err != nil { + return bookmark, err + } + + _, err = toml.Decode(string(buff), &bookmark) + + if bookmark.Port == 0 { + bookmark.Port = 5432 + } + + // List of all supported postgres modes + modes := []string{"disable", "allow", "prefer", "require", "verify-ca", "verify-full"} + valid := false + + for _, mode := range modes { + if bookmark.Ssl == mode { + valid = true + break + } + } + + // Fall back to a default mode if mode is not set or invalid + // Typical typo: ssl mode set to "disabled" + if bookmark.Ssl == "" || !valid { + bookmark.Ssl = "disable" + } + + // Set default SSH port if it's not provided by user + if bookmark.SSH != nil && bookmark.SSH.Port == "" { + bookmark.SSH.Port = "22" + } + + return bookmark, err +} + +func fileBasename(path string) string { + filename := filepath.Base(path) + return strings.Replace(filename, filepath.Ext(path), "", 1) +} + +// Path returns bookmarks storage path +func Path(overrideDir string) string { + if overrideDir == "" { + path, _ := homedir.Dir() + return fmt.Sprintf("%s/.pgweb/bookmarks", path) + } + return overrideDir +} + +// ReadAll returns all available bookmarks +func ReadAll(path string) (map[string]Bookmark, error) { + results := map[string]Bookmark{} + + files, err := ioutil.ReadDir(path) + if err != nil { + return results, err + } + + for _, file := range files { + if filepath.Ext(file.Name()) != ".toml" { + continue + } + + fullPath := filepath.Join(path, file.Name()) + key := fileBasename(file.Name()) + config, err := readServerConfig(fullPath) + + if err != nil { + fmt.Printf("%s parse error: %s\n", fullPath, err) + continue + } + + results[key] = config + } + + return results, nil +} + +// GetBookmark reads an existing bookmark +func GetBookmark(bookmarkPath string, bookmarkName string) (Bookmark, error) { + bookmarks, err := ReadAll(bookmarkPath) + if err != nil { + return Bookmark{}, err + } + + bookmark, ok := bookmarks[bookmarkName] + if !ok { + return Bookmark{}, fmt.Errorf("couldn't find a bookmark with name %s", bookmarkName) + } + + return bookmark, nil +} diff --git a/pkg/bookmarks/bookmarks_test.go b/pkg/bookmarks/bookmarks_test.go new file mode 100644 index 0000000..0b43497 --- /dev/null +++ b/pkg/bookmarks/bookmarks_test.go @@ -0,0 +1,141 @@ +package bookmarks + +import ( + "testing" + + "github.com/sosedoff/pgweb/pkg/command" + "github.com/sosedoff/pgweb/pkg/shared" + "github.com/stretchr/testify/assert" +) + +func Test_Invalid_Bookmark_Files(t *testing.T) { + _, err := readServerConfig("foobar") + assert.Error(t, err) + + _, err = readServerConfig("../../data/invalid.toml") + assert.Error(t, err) + assert.Equal(t, "Near line 1 (last key parsed 'invalid'): expected key separator '=', but got 'e' instead", err.Error()) +} + +func Test_Bookmark(t *testing.T) { + bookmark, err := readServerConfig("../../data/bookmark.toml") + assert.Equal(t, nil, err) + assert.Equal(t, "localhost", bookmark.Host) + assert.Equal(t, 5432, bookmark.Port) + assert.Equal(t, "postgres", bookmark.User) + assert.Equal(t, "mydatabase", bookmark.Database) + assert.Equal(t, "disable", bookmark.Ssl) + assert.Equal(t, "", bookmark.Password) + assert.Equal(t, "", bookmark.URL) + + bookmark, err = readServerConfig("../../data/bookmark_invalid_ssl.toml") + assert.Equal(t, nil, err) + assert.Equal(t, "disable", bookmark.Ssl) +} + +func Test_Bookmark_URL(t *testing.T) { + bookmark, err := readServerConfig("../../data/bookmark_url.toml") + + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://username:password@host:port/database?sslmode=disable", bookmark.URL) + assert.Equal(t, "", bookmark.Host) + assert.Equal(t, 5432, bookmark.Port) + assert.Equal(t, "", bookmark.User) + assert.Equal(t, "", bookmark.Database) + assert.Equal(t, "disable", bookmark.Ssl) + assert.Equal(t, "", bookmark.Password) +} + +func Test_Bookmarks_Path(t *testing.T) { + assert.NotEqual(t, "/.pgweb/bookmarks", Path("")) +} + +func Test_Basename(t *testing.T) { + assert.Equal(t, "filename", fileBasename("filename.toml")) + assert.Equal(t, "filename", fileBasename("path/filename.toml")) + assert.Equal(t, "filename", fileBasename("~/long/path/filename.toml")) + assert.Equal(t, "filename", fileBasename("filename")) +} + +func Test_ReadBookmarks_Invalid(t *testing.T) { + bookmarks, err := ReadAll("foobar") + + assert.Error(t, err) + assert.Equal(t, 0, len(bookmarks)) +} + +func Test_ReadBookmarks(t *testing.T) { + bookmarks, err := ReadAll("../../data") + + assert.Equal(t, nil, err) + assert.Equal(t, 3, len(bookmarks)) +} + +func Test_GetBookmark(t *testing.T) { + expBookmark := Bookmark{ + + Host: "localhost", + Port: 5432, + User: "postgres", + Password: "", + Database: "mydatabase", + Ssl: "disable", + } + b, err := GetBookmark("../../data", "bookmark") + if assert.NoError(t, err) { + assert.Equal(t, expBookmark, b) + } + + _, err = GetBookmark("../../data", "bar") + expErrStr := "couldn't find a bookmark with name bar" + assert.Equal(t, expErrStr, err.Error()) + + _, err = GetBookmark("foo", "bookmark") + assert.Error(t, err) +} + +func Test_Bookmark_SSHInfoIsEmpty(t *testing.T) { + emptySSH := &shared.SSHInfo{ + Host: "", + Port: "", + User: "", + } + populatedSSH := &shared.SSHInfo{ + Host: "localhost", + Port: "8080", + User: "postgres", + } + + b := Bookmark{SSH: nil} + assert.True(t, b.SSHInfoIsEmpty()) + + b = Bookmark{SSH: emptySSH} + assert.True(t, b.SSHInfoIsEmpty()) + + b.SSH = populatedSSH + assert.False(t, b.SSHInfoIsEmpty()) +} + +func Test_ConvertToOptions(t *testing.T) { + b := Bookmark{ + URL: "postgres://username:password@host:port/database?sslmode=disable", + Host: "localhost", + Port: 5432, + User: "postgres", + Password: "password", + Database: "mydatabase", + Ssl: "disable", + } + + expOpt := command.Options{ + URL: "postgres://username:password@host:port/database?sslmode=disable", + Host: "localhost", + Port: 5432, + User: "postgres", + Pass: "password", + DbName: "mydatabase", + Ssl: "disable", + } + opt := b.ConvertToOptions() + assert.Equal(t, expOpt, opt) +} diff --git a/pkg/cli/cli.go b/pkg/cli/cli.go new file mode 100644 index 0000000..64d527f --- /dev/null +++ b/pkg/cli/cli.go @@ -0,0 +1,251 @@ +package cli + +import ( + "fmt" + "os" + "os/exec" + "os/signal" + "regexp" + "strings" + + "github.com/gin-gonic/gin" + "github.com/jessevdk/go-flags" + + "github.com/sosedoff/pgweb/pkg/api" + "github.com/sosedoff/pgweb/pkg/bookmarks" + "github.com/sosedoff/pgweb/pkg/client" + "github.com/sosedoff/pgweb/pkg/command" + "github.com/sosedoff/pgweb/pkg/connection" + "github.com/sosedoff/pgweb/pkg/shared" + "github.com/sosedoff/pgweb/pkg/util" +) + +var ( + options command.Options + + readonlyWarning = ` +------------------------------------------------------ +SECURITY WARNING: You are running pgweb in read-only mode. +This mode is designed for environments where users could potentially delete / change data. +For proper read-only access please follow postgresql role management documentation. +------------------------------------------------------` + + regexErrConnectionRefused = regexp.MustCompile(`(connection|actively) refused`) + regexErrAuthFailed = regexp.MustCompile(`authentication failed`) +) + +func exitWithMessage(message string) { + fmt.Println("Error:", message) + os.Exit(1) +} + +func initClientUsingBookmark(bookmarkPath, bookmarkName string) (*client.Client, error) { + bookmark, err := bookmarks.GetBookmark(bookmarkPath, bookmarkName) + if err != nil { + return nil, err + } + + opt := bookmark.ConvertToOptions() + var connStr string + + if opt.URL != "" { // if the bookmark has url set, use it + connStr = opt.URL + } else { + connStr, err = connection.BuildStringFromOptions(opt) + if err != nil { + return nil, fmt.Errorf("error building connection string: %v", err) + } + } + + var ssh *shared.SSHInfo + if !bookmark.SSHInfoIsEmpty() { + ssh = bookmark.SSH + } + + return client.NewFromUrl(connStr, ssh) +} + +func initClient() { + if connection.IsBlank(command.Opts) && options.Bookmark == "" { + return + } + + var cl *client.Client + var err error + + if options.Bookmark != "" { + cl, err = initClientUsingBookmark(bookmarks.Path(options.BookmarksDir), options.Bookmark) + } else { + cl, err = client.New() + } + if err != nil { + exitWithMessage(err.Error()) + } + + if command.Opts.Debug { + fmt.Println("Server connection string:", cl.ConnectionString) + } + + fmt.Println("Connecting to server...") + if err := cl.Test(); err != nil { + msg := err.Error() + + // Check if we're trying to connect to the default database. + if command.Opts.DbName == "" && command.Opts.URL == "" { + // If database does not exist, allow user to connect from the UI. + if strings.Contains(msg, "database") && strings.Contains(msg, "does not exist") { + fmt.Println("Error:", msg) + return + } + + // Do not bail if local server is not running. + if regexErrConnectionRefused.MatchString(msg) { + fmt.Println("Error:", msg) + return + } + + // Do not bail if local auth is invalid + if regexErrAuthFailed.MatchString(msg) { + fmt.Println("Error:", msg) + return + } + } + + exitWithMessage(msg) + } + + if !command.Opts.Sessions { + fmt.Printf("Connected to %s\n", cl.ServerVersion()) + } + + fmt.Println("Checking database objects...") + _, err = cl.Objects() + if err != nil { + exitWithMessage(err.Error()) + } + + api.DbClient = cl +} + +func initOptions() { + opts, err := command.ParseOptions(os.Args) + if err != nil { + switch err.(type) { + case *flags.Error: + // no need to print error, flags package already does that + default: + fmt.Println(err.Error()) + } + os.Exit(1) + } + command.Opts = opts + options = opts + + if options.Version { + printVersion() + os.Exit(0) + } + + if options.ReadOnly { + fmt.Println(readonlyWarning) + } + + if options.BinaryCodec != "" { + if err := client.SetBinaryCodec(options.BinaryCodec); err != nil { + exitWithMessage(err.Error()) + } + } + + printVersion() +} + +func printVersion() { + chunks := []string{fmt.Sprintf("Pgweb v%s", command.Version)} + + if command.GitCommit != "" { + chunks = append(chunks, fmt.Sprintf("(git: %s)", command.GitCommit)) + } + + if command.GoVersion != "" { + chunks = append(chunks, fmt.Sprintf("(go: %s)", command.GoVersion)) + } + + if command.BuildTime != "" { + chunks = append(chunks, fmt.Sprintf("(build time: %s)", command.BuildTime)) + } + + fmt.Println(strings.Join(chunks, " ")) +} + +func startServer() { + router := gin.Default() + + // Enable HTTP basic authentication only if both user and password are set + if options.AuthUser != "" && options.AuthPass != "" { + auth := map[string]string{options.AuthUser: options.AuthPass} + router.Use(gin.BasicAuth(auth)) + } + + api.SetupRoutes(router) + + fmt.Println("Starting server...") + go func() { + err := router.Run(fmt.Sprintf("%v:%v", options.HTTPHost, options.HTTPPort)) + if err != nil { + fmt.Println("Cant start server:", err) + if strings.Contains(err.Error(), "address already in use") { + openPage() + } + os.Exit(1) + } + }() +} + +func handleSignals() { + c := make(chan os.Signal, 1) + signal.Notify(c, os.Interrupt, os.Kill) + <-c +} + +func openPage() { + url := fmt.Sprintf("http://%v:%v/%s", options.HTTPHost, options.HTTPPort, options.Prefix) + fmt.Println("To view database open", url, "in browser") + + if options.SkipOpen { + return + } + + _, err := exec.Command("which", "open").Output() + if err != nil { + return + } + + exec.Command("open", url).Output() +} + +func Run() { + initOptions() + initClient() + + if api.DbClient != nil { + defer api.DbClient.Close() + } + + if !options.Debug { + gin.SetMode("release") + } + + // Print memory usage every 30 seconds with debug flag + if options.Debug { + util.StartProfiler() + } + + // Start session cleanup worker + if options.Sessions && !command.Opts.DisableConnectionIdleTimeout { + go api.StartSessionCleanup() + } + + startServer() + openPage() + handleSignals() +} diff --git a/pkg/client/client.go b/pkg/client/client.go new file mode 100644 index 0000000..865a2e3 --- /dev/null +++ b/pkg/client/client.go @@ -0,0 +1,476 @@ +package client + +import ( + "errors" + "fmt" + "log" + neturl "net/url" + "reflect" + "regexp" + "strings" + "time" + + "github.com/jmoiron/sqlx" + _ "github.com/lib/pq" + + "github.com/sosedoff/pgweb/pkg/command" + "github.com/sosedoff/pgweb/pkg/connection" + "github.com/sosedoff/pgweb/pkg/history" + "github.com/sosedoff/pgweb/pkg/shared" + "github.com/sosedoff/pgweb/pkg/statements" +) + +var ( + postgresSignature = regexp.MustCompile(`(?i)postgresql ([\d\.]+)\s`) + postgresType = "PostgreSQL" + + cockroachSignature = regexp.MustCompile(`(?i)cockroachdb ccl v([\d\.]+)\s`) + cockroachType = "CockroachDB" +) + +type Client struct { + db *sqlx.DB + tunnel *Tunnel + serverVersion string + serverType string + lastQueryTime time.Time + External bool + History []history.Record `json:"history"` + ConnectionString string `json:"connection_string"` +} + +// Struct to hold table rows browsing options +type RowsOptions struct { + Where string // Custom filter + Offset int // Number of rows to skip + Limit int // Number of rows to fetch + SortColumn string // Column to sort by + SortOrder string // Sort direction (ASC, DESC) +} + +func getSchemaAndTable(str string) (string, string) { + chunks := strings.Split(str, ".") + if len(chunks) == 1 { + return "public", chunks[0] + } + return chunks[0], chunks[1] +} + +func New() (*Client, error) { + str, err := connection.BuildStringFromOptions(command.Opts) + + if command.Opts.Debug && str != "" { + fmt.Println("Creating a new client for:", str) + } + + if err != nil { + return nil, err + } + + db, err := sqlx.Open("postgres", str) + if err != nil { + return nil, err + } + + client := Client{ + db: db, + ConnectionString: str, + History: history.New(), + } + + client.setServerVersion() + return &client, nil +} + +func NewFromUrl(url string, sshInfo *shared.SSHInfo) (*Client, error) { + var tunnel *Tunnel + + if sshInfo != nil { + if command.Opts.DisableSSH { + return nil, fmt.Errorf("ssh connections are disabled") + } + if command.Opts.Debug { + fmt.Println("Opening SSH tunnel for:", sshInfo) + } + + tunnel, err := NewTunnel(sshInfo, url) + if err != nil { + tunnel.Close() + return nil, err + } + + err = tunnel.Configure() + if err != nil { + tunnel.Close() + return nil, err + } + + go tunnel.Start() + + uri, err := neturl.Parse(url) + if err != nil { + tunnel.Close() + return nil, err + } + + // Override remote postgres port with local proxy port + url = strings.Replace(url, uri.Host, fmt.Sprintf("127.0.0.1:%v", tunnel.Port), 1) + } + + if command.Opts.Debug { + fmt.Println("Creating a new client for:", url) + } + + uri, err := neturl.Parse(url) + if err == nil && uri.Path == "" { + return nil, fmt.Errorf("Database name is not provided") + } + + db, err := sqlx.Open("postgres", url) + if err != nil { + return nil, err + } + + client := Client{ + db: db, + tunnel: tunnel, + ConnectionString: url, + History: history.New(), + } + + client.setServerVersion() + return &client, nil +} + +func (client *Client) setServerVersion() { + res, err := client.query("SELECT version()") + if err != nil || len(res.Rows) < 1 { + return + } + + version := res.Rows[0][0].(string) + + // Detect postgresql + matches := postgresSignature.FindAllStringSubmatch(version, 1) + if len(matches) > 0 { + client.serverType = postgresType + client.serverVersion = matches[0][1] + return + } + + // Detect cockroachdb + matches = cockroachSignature.FindAllStringSubmatch(version, 1) + if len(matches) > 0 { + client.serverType = cockroachType + client.serverVersion = matches[0][1] + return + } +} + +func (client *Client) Test() error { + return client.db.Ping() +} + +func (client *Client) Info() (*Result, error) { + return client.query(statements.Info) +} + +func (client *Client) Databases() ([]string, error) { + return client.fetchRows(statements.Databases) +} + +func (client *Client) Schemas() ([]string, error) { + return client.fetchRows(statements.Schemas) +} + +func (client *Client) Objects() (*Result, error) { + return client.query(statements.Objects) +} + +func (client *Client) Table(table string) (*Result, error) { + schema, table := getSchemaAndTable(table) + return client.query(statements.TableSchema, schema, table) +} + +func (client *Client) MaterializedView(name string) (*Result, error) { + return client.query(statements.MaterializedView, name) +} + +func (client *Client) TableRows(table string, opts RowsOptions) (*Result, error) { + schema, table := getSchemaAndTable(table) + sql := fmt.Sprintf(`SELECT * FROM "%s"."%s"`, schema, table) + + if opts.Where != "" { + sql += fmt.Sprintf(" WHERE %s", opts.Where) + } + + if opts.SortColumn != "" { + if opts.SortOrder == "" { + opts.SortOrder = "ASC" + } + + sql += fmt.Sprintf(` ORDER BY "%s" %s`, opts.SortColumn, opts.SortOrder) + } + + if opts.Limit > 0 { + sql += fmt.Sprintf(" LIMIT %d", opts.Limit) + } + + if opts.Offset > 0 { + sql += fmt.Sprintf(" OFFSET %d", opts.Offset) + } + + return client.query(sql) +} + +func (client *Client) EstimatedTableRowsCount(table string, opts RowsOptions) (*Result, error) { + schema, table := getSchemaAndTable(table) + result, err := client.query(statements.EstimatedTableRowCount, schema, table) + if err != nil { + return nil, err + } + // float64 to int64 conversion + estimatedRowsCount := result.Rows[0][0].(float64) + result.Rows[0] = Row{int64(estimatedRowsCount)} + + return result, nil +} + +func (client *Client) TableRowsCount(table string, opts RowsOptions) (*Result, error) { + // Return postgres estimated rows count on empty filter + if opts.Where == "" && client.serverType == postgresType { + res, err := client.EstimatedTableRowsCount(table, opts) + if err != nil { + return nil, err + } + n := res.Rows[0][0].(int64) + if n >= 100000 { + return res, nil + } + } + + schema, tableName := getSchemaAndTable(table) + sql := fmt.Sprintf(`SELECT COUNT(1) FROM "%s"."%s"`, schema, tableName) + + if opts.Where != "" { + sql += fmt.Sprintf(" WHERE %s", opts.Where) + } + + return client.query(sql) +} + +func (client *Client) TableInfo(table string) (*Result, error) { + if client.serverType == cockroachType { + return client.query(statements.TableInfoCockroach) + } + schema, table := getSchemaAndTable(table) + return client.query(statements.TableInfo, fmt.Sprintf(`"%s"."%s"`, schema, table)) +} + +func (client *Client) TableIndexes(table string) (*Result, error) { + schema, table := getSchemaAndTable(table) + res, err := client.query(statements.TableIndexes, schema, table) + + if err != nil { + return nil, err + } + + return res, err +} + +func (client *Client) TableConstraints(table string) (*Result, error) { + schema, table := getSchemaAndTable(table) + res, err := client.query(statements.TableConstraints, schema, table) + + if err != nil { + return nil, err + } + + return res, err +} + +// Returns all active queriers on the server +func (client *Client) Activity() (*Result, error) { + if client.serverType == cockroachType { + return client.query("SHOW QUERIES") + } + + version := getMajorMinorVersion(client.serverVersion) + query := statements.Activity[version] + if query == "" { + query = statements.Activity["default"] + } + + return client.query(query) +} + +func (client *Client) Query(query string) (*Result, error) { + res, err := client.query(query) + + // Save history records only if query did not fail + if err == nil && !client.hasHistoryRecord(query) { + client.History = append(client.History, history.NewRecord(query)) + } + + return res, err +} + +func (client *Client) SetReadOnlyMode() error { + var value string + if err := client.db.Get(&value, "SHOW default_transaction_read_only;"); err != nil { + return err + } + + if value == "off" { + _, err := client.db.Exec("SET default_transaction_read_only=on;") + return err + } + + return nil +} + +func (client *Client) ServerVersion() string { + return fmt.Sprintf("%s %s", client.serverType, client.serverVersion) +} + +func (client *Client) query(query string, args ...interface{}) (*Result, error) { + // Update the last usage time + defer func() { + client.lastQueryTime = time.Now().UTC() + }() + + // We're going to force-set transaction mode on every query. + // This is needed so that default mode could not be changed by user. + if command.Opts.ReadOnly { + if err := client.SetReadOnlyMode(); err != nil { + return nil, err + } + if containsRestrictedKeywords(query) { + return nil, errors.New("query contains keywords not allowed in read-only mode") + } + } + + action := strings.ToLower(strings.Split(query, " ")[0]) + if action == "update" || action == "delete" { + res, err := client.db.Exec(query, args...) + if err != nil { + return nil, err + } + + affected, err := res.RowsAffected() + if err != nil { + return nil, err + } + + result := Result{ + Columns: []string{"Rows Affected"}, + Rows: []Row{ + Row{affected}, + }, + } + + return &result, nil + } + + rows, err := client.db.Queryx(query, args...) + if err != nil { + if command.Opts.Debug { + log.Println("Failed query:", query, "\nArgs:", args) + } + return nil, err + } + defer rows.Close() + + cols, err := rows.Columns() + if err != nil { + return nil, err + } + + // Make sure to never return null colums + if cols == nil { + cols = []string{} + } + + result := Result{ + Columns: cols, + Rows: []Row{}, + } + + for rows.Next() { + obj, err := rows.SliceScan() + + for i, item := range obj { + if item == nil { + obj[i] = nil + } else { + t := reflect.TypeOf(item).Kind().String() + + if t == "slice" { + obj[i] = string(item.([]byte)) + } + } + } + + if err == nil { + result.Rows = append(result.Rows, obj) + } + } + + result.PostProcess() + + return &result, nil +} + +// Close database connection +func (client *Client) Close() error { + if client.tunnel != nil { + client.tunnel.Close() + } + + if client.db != nil { + return client.db.Close() + } + + return nil +} + +func (client *Client) IsIdle() bool { + mins := int(time.Since(client.lastQueryTime).Minutes()) + + if command.Opts.ConnectionIdleTimeout > 0 { + return mins >= command.Opts.ConnectionIdleTimeout + } + + return false +} + +// Fetch all rows as strings for a single column +func (client *Client) fetchRows(q string) ([]string, error) { + res, err := client.query(q) + + if err != nil { + return nil, err + } + + // Init empty slice so json.Marshal will encode it to "[]" instead of "null" + results := make([]string, 0) + + for _, row := range res.Rows { + results = append(results, row[0].(string)) + } + + return results, nil +} + +func (client *Client) hasHistoryRecord(query string) bool { + result := false + + for _, record := range client.History { + if record.Query == query { + result = true + break + } + } + + return result +} diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go new file mode 100644 index 0000000..4d3f59d --- /dev/null +++ b/pkg/client/client_test.go @@ -0,0 +1,503 @@ +package client + +import ( + "fmt" + "log" + "os" + "os/exec" + "runtime" + "testing" + "time" + + "github.com/sosedoff/pgweb/pkg/command" + + "github.com/stretchr/testify/assert" +) + +var ( + testClient *Client + testCommands map[string]string + serverHost string + serverPort string + serverUser string + serverPassword string + serverDatabase string +) + +func mapKeys(data map[string]*Objects) []string { + result := []string{} + for k, _ := range data { + result = append(result, k) + } + return result +} + +func pgVersion() (int, int) { + var major, minor int + fmt.Sscanf(os.Getenv("PGVERSION"), "%d.%d", &major, &minor) + return major, minor +} + +func getVar(name, def string) string { + val := os.Getenv(name) + if val == "" { + return def + } + return val +} + +func initVars() { + // We need to load default options to make sure all stuff works + if err := command.SetDefaultOptions(); err != nil { + log.Fatal(err) + } + + serverHost = getVar("PGHOST", "localhost") + serverPort = getVar("PGPORT", "5432") + serverUser = getVar("PGUSER", "postgres") + serverPassword = getVar("PGPASSWORD", "postgres") + serverDatabase = getVar("PGDATABASE", "booktown") +} + +func setupCommands() { + testCommands = map[string]string{ + "createdb": "createdb", + "psql": "psql", + "dropdb": "dropdb", + } + + if onWindows() { + for k, v := range testCommands { + testCommands[k] = v + ".exe" + } + } +} + +func onWindows() bool { + return runtime.GOOS == "windows" +} + +func setup() { + // No pretty JSON for tests + command.Opts.DisablePrettyJSON = true + + out, err := exec.Command( + testCommands["createdb"], + "-U", serverUser, + "-h", serverHost, + "-p", serverPort, + serverDatabase, + ).CombinedOutput() + + if err != nil { + fmt.Println("Database creation failed:", string(out)) + fmt.Println("Error:", err) + os.Exit(1) + } + + out, err = exec.Command( + testCommands["psql"], + "-U", serverUser, + "-h", serverHost, + "-p", serverPort, + "-f", "../../data/booktown.sql", + serverDatabase, + ).CombinedOutput() + + if err != nil { + fmt.Println("Database import failed:", string(out)) + fmt.Println("Error:", err) + os.Exit(1) + } +} + +func setupClient() { + url := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, serverDatabase) + testClient, _ = NewFromUrl(url, nil) +} + +func teardownClient() { + if testClient != nil { + testClient.db.Close() + } +} + +func teardown() { + _, err := exec.Command( + testCommands["dropdb"], + "-U", serverUser, + "-h", serverHost, + "-p", serverPort, + serverDatabase, + ).CombinedOutput() + + if err != nil { + fmt.Println("Teardown error:", err) + } +} + +func testNewClientFromUrl(t *testing.T) { + url := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, serverDatabase) + client, err := NewFromUrl(url, nil) + + if err != nil { + defer client.Close() + } + + assert.Equal(t, nil, err) + assert.Equal(t, url, client.ConnectionString) +} + +func testNewClientFromUrl2(t *testing.T) { + url := fmt.Sprintf("postgresql://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, serverDatabase) + client, err := NewFromUrl(url, nil) + + if err != nil { + defer client.Close() + } + + assert.Equal(t, nil, err) + assert.Equal(t, url, client.ConnectionString) +} + +func testClientIdleTime(t *testing.T) { + examples := map[time.Time]bool{ + time.Now(): false, // Current time + time.Now().Add(time.Minute * -30): false, // 30 minutes ago + time.Now().Add(time.Minute * -240): true, // 240 minutes ago + time.Now().Add(time.Minute * 30): false, // 30 minutes in future + time.Now().Add(time.Minute * 128): false, // 128 minutes in future + } + + for ts, expected := range examples { + testClient.lastQueryTime = ts + assert.Equal(t, expected, testClient.IsIdle()) + } +} + +func testTest(t *testing.T) { + assert.Equal(t, nil, testClient.Test()) +} + +func testInfo(t *testing.T) { + res, err := testClient.Info() + + assert.Equal(t, nil, err) + assert.NotEqual(t, nil, res) +} + +func testActivity(t *testing.T) { + res, err := testClient.Activity() + + assert.Equal(t, nil, err) + assert.NotEqual(t, nil, res) +} + +func testDatabases(t *testing.T) { + res, err := testClient.Databases() + + assert.Equal(t, nil, err) + assert.Contains(t, res, "booktown") + assert.Contains(t, res, "postgres") +} + +func testObjects(t *testing.T) { + res, err := testClient.Objects() + objects := ObjectsFromResult(res) + + tables := []string{ + "alternate_stock", + "authors", + "book_backup", + "book_queue", + "books", + "customers", + "daily_inventory", + "distinguished_authors", + "dummies", + "editions", + "employees", + "favorite_authors", + "favorite_books", + "money_example", + "my_list", + "numeric_values", + "publishers", + "schedules", + "shipments", + "states", + "stock", + "stock_backup", + "subjects", + "text_sorting", + } + + assert.Equal(t, nil, err) + assert.Equal(t, []string{"schema", "name", "type", "owner", "comment"}, res.Columns) + assert.Equal(t, []string{"public"}, mapKeys(objects)) + assert.Equal(t, tables, objects["public"].Tables) + assert.Equal(t, []string{"recent_shipments", "stock_view"}, objects["public"].Views) + assert.Equal(t, []string{"author_ids", "book_ids", "shipments_ship_id_seq", "subject_ids"}, objects["public"].Sequences) + + major, minor := pgVersion() + if minor == 0 || minor >= 3 { + assert.Equal(t, []string{"m_stock_view"}, objects["public"].MaterializedViews) + } else { + t.Logf("Skipping materialized view on %d.%d\n", major, minor) + } +} + +func testTable(t *testing.T) { + res, err := testClient.Table("books") + + columns := []string{ + "column_name", + "data_type", + "is_nullable", + "character_maximum_length", + "character_set_catalog", + "column_default", + "comment", + } + + assert.Equal(t, nil, err) + assert.Equal(t, columns, res.Columns) + assert.Equal(t, 4, len(res.Rows)) +} + +func testTableRows(t *testing.T) { + res, err := testClient.TableRows("books", RowsOptions{}) + + assert.Equal(t, nil, err) + assert.Equal(t, 4, len(res.Columns)) + assert.Equal(t, 15, len(res.Rows)) +} + +func testTableInfo(t *testing.T) { + res, err := testClient.TableInfo("books") + + assert.Equal(t, nil, err) + assert.Equal(t, 4, len(res.Columns)) + assert.Equal(t, 1, len(res.Rows)) +} + +func testEstimatedTableRowsCount(t *testing.T) { + var count int64 = 15 + res, err := testClient.EstimatedTableRowsCount("books", RowsOptions{}) + + assert.Equal(t, nil, err) + assert.Equal(t, []string{"reltuples"}, res.Columns) + assert.Equal(t, []Row{Row{count}}, res.Rows) +} + +func testTableRowsCount(t *testing.T) { + var count int64 = 15 + res, err := testClient.TableRowsCount("books", RowsOptions{}) + + assert.Equal(t, nil, err) + assert.Equal(t, []string{"count"}, res.Columns) + assert.Equal(t, []Row{Row{count}}, res.Rows) +} + +func testTableRowsCountWithLargeTable(t *testing.T) { + var count int64 = 100010 + testClient.db.MustExec(`CREATE TABLE large_table AS SELECT s FROM generate_Series(1,100010) s;`) + testClient.db.MustExec(`VACUUM large_table;`) + res, err := testClient.TableRowsCount("large_table", RowsOptions{}) + + assert.Equal(t, nil, err) + assert.Equal(t, []string{"reltuples"}, res.Columns) + assert.Equal(t, []Row{Row{count}}, res.Rows) +} + +func testTableIndexes(t *testing.T) { + res, err := testClient.TableIndexes("books") + + assert.Equal(t, nil, err) + assert.Equal(t, 2, len(res.Columns)) + assert.Equal(t, 2, len(res.Rows)) +} + +func testTableConstraints(t *testing.T) { + res, err := testClient.TableConstraints("editions") + + assert.Equal(t, nil, err) + assert.Equal(t, []string{"name", "definition"}, res.Columns) + assert.Equal(t, Row{"pkey", "PRIMARY KEY (isbn)"}, res.Rows[0]) + assert.Equal(t, Row{"integrity", "CHECK (book_id IS NOT NULL AND edition IS NOT NULL)"}, res.Rows[1]) +} + +func testTableNameWithCamelCase(t *testing.T) { + testClient.db.MustExec(`CREATE TABLE "exampleTable" (id int, name varchar);`) + testClient.db.MustExec(`INSERT INTO "exampleTable" (id, name) VALUES (1, 'foo'), (2, 'bar');`) + + _, err := testClient.Table("exampleTable") + assert.NoError(t, err) + + _, err = testClient.TableInfo("exampleTable") + assert.NoError(t, err) + + _, err = testClient.TableConstraints("exampleTable") + assert.NoError(t, err) + + _, err = testClient.TableIndexes("exampleTable") + assert.NoError(t, err) + + _, err = testClient.TableRowsCount("exampleTable", RowsOptions{}) + assert.NoError(t, err) + + _, err = testClient.EstimatedTableRowsCount("exampleTable", RowsOptions{}) + assert.NoError(t, err) +} + +func testQuery(t *testing.T) { + res, err := testClient.Query("SELECT * FROM books") + + assert.Equal(t, nil, err) + assert.Equal(t, 4, len(res.Columns)) + assert.Equal(t, 15, len(res.Rows)) +} + +func testQueryError(t *testing.T) { + res, err := testClient.Query("SELCT * FROM books") + + assert.NotEqual(t, nil, err) + assert.Equal(t, "pq: syntax error at or near \"SELCT\"", err.Error()) + assert.Equal(t, true, res == nil) +} + +func testQueryInvalidTable(t *testing.T) { + res, err := testClient.Query("SELECT * FROM books2") + + assert.NotEqual(t, nil, err) + assert.Equal(t, "pq: relation \"books2\" does not exist", err.Error()) + assert.Equal(t, true, res == nil) +} + +func testTableRowsOrderEscape(t *testing.T) { + rows, err := testClient.TableRows("dummies", RowsOptions{SortColumn: "isDummy"}) + assert.Equal(t, nil, err) + assert.Equal(t, 2, len(rows.Rows)) + + rows, err = testClient.TableRows("dummies", RowsOptions{SortColumn: "isdummy"}) + assert.NotEqual(t, nil, err) + assert.Equal(t, `pq: column "isdummy" does not exist`, err.Error()) + assert.Equal(t, true, rows == nil) +} + +func testResultJSON(t *testing.T) { + result, err := testClient.Query("SELECT 'NaN'::float AS value;") + + assert.NoError(t, err) + assert.Equal(t, `[{"value":null}]`, string(result.JSON())) +} + +func testResultCsv(t *testing.T) { + res, _ := testClient.Query("SELECT * FROM books ORDER BY id ASC LIMIT 1") + csv := res.CSV() + + expected := "id,title,author_id,subject_id\n156,The Tell-Tale Heart,115,9\n" + + assert.Equal(t, expected, string(csv)) +} + +func testHistory(t *testing.T) { + _, err := testClient.Query("SELECT * FROM books WHERE id = 12345") + query := testClient.History[len(testClient.History)-1].Query + + assert.Equal(t, nil, err) + assert.Equal(t, "SELECT * FROM books WHERE id = 12345", query) +} + +func testHistoryError(t *testing.T) { + _, err := testClient.Query("SELECT * FROM books123") + query := testClient.History[len(testClient.History)-1].Query + + assert.NotEqual(t, nil, err) + assert.NotEqual(t, "SELECT * FROM books123", query) +} + +func testHistoryUniqueness(t *testing.T) { + url := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, serverDatabase) + client, _ := NewFromUrl(url, nil) + + client.Query("SELECT * FROM books WHERE id = 1") + client.Query("SELECT * FROM books WHERE id = 1") + + assert.Equal(t, 1, len(client.History)) + assert.Equal(t, "SELECT * FROM books WHERE id = 1", client.History[0].Query) +} + +func testReadOnlyMode(t *testing.T) { + command.Opts.ReadOnly = true + defer func() { + command.Opts.ReadOnly = false + }() + + url := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, serverDatabase) + client, _ := NewFromUrl(url, nil) + + err := client.SetReadOnlyMode() + assert.NoError(t, err) + + _, err = client.Query("\nCREATE TABLE foobar(id integer);\n") + assert.NotNil(t, err) + assert.Error(t, err, "query contains keywords not allowed in read-only mode") + + // Turn off guard + client.db.Exec("SET default_transaction_read_only=off;") + + _, err = client.Query("\nCREATE TABLE foobar(id integer);\n") + assert.NotNil(t, err) + assert.Contains(t, err.Error(), "query contains keywords not allowed in read-only mode") + + _, err = client.Query("-- CREATE TABLE foobar(id integer);\nSELECT 'foo';") + assert.NoError(t, err) + + _, err = client.Query("/* CREATE TABLE foobar(id integer); */ SELECT 'foo';") + assert.NoError(t, err) +} + +func TestAll(t *testing.T) { + if onWindows() { + t.Log("Unit testing on Windows platform is not supported.") + return + } + + initVars() + setupCommands() + teardown() + setup() + setupClient() + + testNewClientFromUrl(t) + testClientIdleTime(t) + testTest(t) + testInfo(t) + testActivity(t) + testDatabases(t) + testObjects(t) + testTable(t) + testTableRows(t) + testTableInfo(t) + testEstimatedTableRowsCount(t) + testTableRowsCount(t) + testTableRowsCountWithLargeTable(t) + testTableIndexes(t) + testTableConstraints(t) + testTableNameWithCamelCase(t) + testQuery(t) + testQueryError(t) + testQueryInvalidTable(t) + testTableRowsOrderEscape(t) + testResultJSON(t) + testResultCsv(t) + testHistory(t) + testHistoryUniqueness(t) + testHistoryError(t) + testReadOnlyMode(t) + testDumpExport(t) + + teardownClient() + teardown() +} diff --git a/pkg/client/codec.go b/pkg/client/codec.go new file mode 100644 index 0000000..82cb2c0 --- /dev/null +++ b/pkg/client/codec.go @@ -0,0 +1,45 @@ +package client + +import ( + "encoding/base64" + "encoding/hex" + "fmt" + + "github.com/mr-tron/base58" +) + +const ( + CodecNone = "none" + CodecHex = "hex" + CodecBase58 = "base58" + CodecBase64 = "base64" +) + +var ( + // BinaryEncodingFormat specifies the default serialization format of binary data + BinaryCodec = CodecBase64 +) + +func SetBinaryCodec(codec string) error { + switch codec { + case CodecNone, CodecHex, CodecBase58, CodecBase64: + BinaryCodec = codec + default: + return fmt.Errorf("invalid binary codec: %v", codec) + } + + return nil +} + +func encodeBinaryData(data []byte, codec string) string { + switch codec { + case CodecHex: + return hex.EncodeToString(data) + case CodecBase58: + return base58.Encode(data) + case CodecBase64: + return base64.StdEncoding.EncodeToString(data) + default: + return string(data) + } +} diff --git a/pkg/client/codec_test.go b/pkg/client/codec_test.go new file mode 100644 index 0000000..a54357a --- /dev/null +++ b/pkg/client/codec_test.go @@ -0,0 +1,51 @@ +package client + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestSetBinaryCodec(t *testing.T) { + examples := []struct { + input string + err error + }{ + {input: CodecNone, err: nil}, + {input: CodecBase58, err: nil}, + {input: CodecBase64, err: nil}, + {input: CodecHex, err: nil}, + {input: "foobar", err: errors.New("invalid binary codec: foobar")}, + } + + for _, ex := range examples { + t.Run(ex.input, func(t *testing.T) { + val := BinaryCodec + defer func() { + BinaryCodec = val + }() + + assert.Equal(t, ex.err, SetBinaryCodec(ex.input)) + }) + } +} + +func Test_encodeBinaryData(t *testing.T) { + examples := []struct { + input string + expected string + encoding string + }{ + {input: "hello world", expected: "hello world", encoding: CodecNone}, + {input: "hello world", expected: "StV1DL6CwTryKyV", encoding: CodecBase58}, + {input: "hello world", expected: "aGVsbG8gd29ybGQ=", encoding: CodecBase64}, + {input: "hello world", expected: "68656c6c6f20776f726c64", encoding: CodecHex}, + } + + for _, ex := range examples { + t.Run(ex.input, func(t *testing.T) { + assert.Equal(t, ex.expected, encodeBinaryData([]byte(ex.input), ex.encoding)) + }) + } +} diff --git a/pkg/client/dump.go b/pkg/client/dump.go new file mode 100644 index 0000000..d9c1705 --- /dev/null +++ b/pkg/client/dump.go @@ -0,0 +1,75 @@ +package client + +import ( + "bytes" + "fmt" + "io" + "net/url" + "os/exec" + "strings" +) + +var ( + unsupportedDumpOptions = []string{ + "search_path", + } +) + +// Dump represents a database dump +type Dump struct { + Table string +} + +// CanExport returns true if database dump tool could be used without an error +func (d *Dump) CanExport() bool { + return exec.Command("pg_dump", "--version").Run() == nil +} + +// Export streams the database dump to the specified writer +func (d *Dump) Export(connstr string, writer io.Writer) error { + if str, err := removeUnsupportedOptions(connstr); err != nil { + return err + } else { + connstr = str + } + + errOutput := bytes.NewBuffer(nil) + + opts := []string{ + "--no-owner", // skip restoration of object ownership in plain-text format + "--clean", // clean (drop) database objects before recreating + "--compress", "6", // compression level for compressed formats + } + + if d.Table != "" { + opts = append(opts, []string{"--table", d.Table}...) + } + + opts = append(opts, connstr) + + cmd := exec.Command("pg_dump", opts...) + cmd.Stdout = writer + cmd.Stderr = errOutput + + if err := cmd.Run(); err != nil { + return fmt.Errorf("error: %s. output: %s", err.Error(), errOutput.Bytes()) + } + return nil +} + +// removeUnsupportedOptions removes any options unsupported for making a db dump +func removeUnsupportedOptions(input string) (string, error) { + uri, err := url.Parse(input) + if err != nil { + return "", err + } + + q := uri.Query() + for _, opt := range unsupportedDumpOptions { + q.Del(opt) + q.Del(strings.ToUpper(opt)) + } + uri.RawQuery = q.Encode() + + return uri.String(), nil +} diff --git a/pkg/client/dump_test.go b/pkg/client/dump_test.go new file mode 100644 index 0000000..61c5171 --- /dev/null +++ b/pkg/client/dump_test.go @@ -0,0 +1,52 @@ +package client + +import ( + "fmt" + "os" + "testing" + + "github.com/stretchr/testify/assert" +) + +func testDumpExport(t *testing.T) { + url := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, serverDatabase) + + savePath := "/tmp/dump.sql.gz" + os.Remove(savePath) + + saveFile, err := os.Create(savePath) + if err != nil { + t.Fatal(err.Error()) + } + + defer func() { + saveFile.Close() + os.Remove(savePath) + }() + + dump := Dump{} + + // Test for pg_dump presence + assert.True(t, dump.CanExport()) + + // Test full db dump + err = dump.Export(url, saveFile) + assert.NoError(t, err) + + // Test nonexistent database + invalidURL := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, "foobar") + err = dump.Export(invalidURL, saveFile) + assert.Contains(t, err.Error(), `database "foobar" does not exist`) + + // Test dump of non existent db + dump = Dump{Table: "foobar"} + err = dump.Export(url, saveFile) + assert.NotNil(t, err) + assert.Contains(t, err.Error(), "no matching tables were found") + + // Should drop "search_path" param from URI + dump = Dump{} + searchPathURL := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable&search_path=private", serverUser, serverHost, serverPort, serverDatabase) + err = dump.Export(searchPathURL, saveFile) + assert.NoError(t, err) +} diff --git a/pkg/client/result.go b/pkg/client/result.go new file mode 100644 index 0000000..4cef669 --- /dev/null +++ b/pkg/client/result.go @@ -0,0 +1,163 @@ +package client + +import ( + "bytes" + "encoding/csv" + "encoding/json" + "fmt" + "math" + "strconv" + "time" + + "github.com/sosedoff/pgweb/pkg/command" +) + +type Row []interface{} + +type Pagination struct { + Rows int64 `json:"rows_count"` + Page int64 `json:"page"` + Pages int64 `json:"pages_count"` + PerPage int64 `json:"per_page"` +} + +type Result struct { + Pagination *Pagination `json:"pagination,omitempty"` + Columns []string `json:"columns"` + Rows []Row `json:"rows"` +} + +type Objects struct { + Tables []string `json:"table"` + Views []string `json:"view"` + MaterializedViews []string `json:"materialized_view"` + Sequences []string `json:"sequence"` +} + +// Due to big int number limitations in javascript, numbers should be encoded +// as strings so they could be properly loaded on the frontend. +func (res *Result) PostProcess() { + for i, row := range res.Rows { + for j, col := range row { + if col == nil { + continue + } + + switch val := col.(type) { + case int64: + if val < -9007199254740991 || val > 9007199254740991 { + res.Rows[i][j] = strconv.FormatInt(col.(int64), 10) + } + case float64: + // json.Marshal panics when dealing with NaN/Inf values + // issue: https://github.com/golang/go/issues/25721 + if math.IsNaN(val) { + res.Rows[i][j] = nil + break + } + + if val < -999999999999999 || val > 999999999999999 { + res.Rows[i][j] = strconv.FormatFloat(val, 'e', -1, 64) + } + case string: + if hasBinary(val, 8) && BinaryCodec != CodecNone { + res.Rows[i][j] = encodeBinaryData([]byte(val), BinaryCodec) + } + } + } + } +} + +func (res *Result) Format() []map[string]interface{} { + var items []map[string]interface{} + + for _, row := range res.Rows { + item := make(map[string]interface{}) + + for i, c := range res.Columns { + item[c] = row[i] + } + + items = append(items, item) + } + + return items +} + +func (res *Result) CSV() []byte { + buff := &bytes.Buffer{} + writer := csv.NewWriter(buff) + + writer.Write(res.Columns) + + for _, row := range res.Rows { + record := make([]string, len(res.Columns)) + + for i, item := range row { + if item != nil { + switch v := item.(type) { + case time.Time: + record[i] = v.Format("2006-01-02 15:04:05") + default: + record[i] = fmt.Sprintf("%v", item) + } + } else { + record[i] = "" + } + } + + err := writer.Write(record) + + if err != nil { + fmt.Println(err) + break + } + } + + writer.Flush() + return buff.Bytes() +} + +func (res *Result) JSON() []byte { + var data []byte + + if command.Opts.DisablePrettyJSON { + data, _ = json.Marshal(res.Format()) + } else { + data, _ = json.MarshalIndent(res.Format(), "", " ") + } + + return data +} + +func ObjectsFromResult(res *Result) map[string]*Objects { + objects := map[string]*Objects{} + + for _, row := range res.Rows { + schema := row[0].(string) + name := row[1].(string) + object_type := row[2].(string) + + if objects[schema] == nil { + objects[schema] = &Objects{ + Tables: []string{}, + Views: []string{}, + MaterializedViews: []string{}, + Sequences: []string{}, + } + } + + switch object_type { + case "table": + objects[schema].Tables = append(objects[schema].Tables, name) + case "view": + objects[schema].Views = append(objects[schema].Views, name) + case "materialized_view": + objects[schema].MaterializedViews = append(objects[schema].MaterializedViews, name) + case "sequence": + objects[schema].Sequences = append(objects[schema].Sequences, name) + } + } + + return objects +} diff --git a/pkg/client/result_test.go b/pkg/client/result_test.go new file mode 100644 index 0000000..b1bdd29 --- /dev/null +++ b/pkg/client/result_test.go @@ -0,0 +1,92 @@ +package client + +import ( + "encoding/json" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestPostProcess(t *testing.T) { + t.Run("large numbers", func(t *testing.T) { + result := Result{ + Columns: []string{"value"}, + Rows: []Row{ + {int(1234)}, + {int64(9223372036854775807)}, + {int64(-9223372036854775808)}, + {float64(9223372036854775808.9223372036854775808)}, + {float64(999999999999999.9)}, + }, + } + + result.PostProcess() + + assert.Equal(t, 1234, result.Rows[0][0]) + assert.Equal(t, "9223372036854775807", result.Rows[1][0]) + assert.Equal(t, "-9223372036854775808", result.Rows[2][0]) + assert.Equal(t, "9.223372036854776e+18", result.Rows[3][0]) + assert.Equal(t, "9.999999999999999e+14", result.Rows[4][0]) + }) + + t.Run("binary encoding", func(t *testing.T) { + result := Result{ + Columns: []string{"data"}, + Rows: []Row{ + {"text value"}, + {"text with symbols !@#$%"}, + {string([]byte{10, 11, 12, 13})}, + }, + } + + result.PostProcess() + + assert.Equal(t, "text value", result.Rows[0][0]) + assert.Equal(t, "text with symbols !@#$%", result.Rows[1][0]) + assert.Equal(t, "CgsMDQ==", result.Rows[2][0]) + }) +} + +func TestCSV(t *testing.T) { + result := Result{ + Columns: []string{"id", "name", "email"}, + Rows: []Row{ + {1, "John", "john@example.com"}, + {2, "Bob", "bob@example.com"}, + }, + } + + expected := "id,name,email\n1,John,john@example.com\n2,Bob,bob@example.com\n" + output := string(result.CSV()) + + assert.Equal(t, expected, output) +} + +func TestJSON(t *testing.T) { + result := Result{ + Columns: []string{"id", "name", "email"}, + Rows: []Row{ + {1, "John", "john@example.com"}, + {2, "Bob", "bob@example.com"}, + }, + } + + obj := []struct { + Id int + Name string + Email string + }{} + + expected := []struct { + Id int + Name string + Email string + }{ + {1, "John", "john@example.com"}, + {2, "Bob", "bob@example.com"}, + } + + assert.NoError(t, json.Unmarshal(result.JSON(), &obj)) + assert.Equal(t, 2, len(obj)) + assert.Equal(t, expected, obj) +} diff --git a/pkg/client/tunnel.go b/pkg/client/tunnel.go new file mode 100644 index 0000000..784c01e --- /dev/null +++ b/pkg/client/tunnel.go @@ -0,0 +1,220 @@ +package client + +import ( + "errors" + "fmt" + "io" + "io/ioutil" + "log" + "net" + "net/url" + "os" + "strings" + "sync" + "time" + + "github.com/ScaleFT/sshkeys" + "golang.org/x/crypto/ssh" + + "github.com/sosedoff/pgweb/pkg/connection" + "github.com/sosedoff/pgweb/pkg/shared" +) + +const ( + portStart = 29168 + portLimit = 500 +) + +// Tunnel represents the connection between local and remote server +type Tunnel struct { + TargetHost string + TargetPort string + Port int + SSHInfo *shared.SSHInfo + Config *ssh.ClientConfig + Client *ssh.Client + Listener *net.TCPListener +} + +func privateKeyPath() string { + return os.Getenv("HOME") + "/.ssh/id_rsa" +} + +func expandKeyPath(path string) string { + home := os.Getenv("HOME") + if home == "" { + return path + } + return strings.Replace(path, "~", home, 1) +} + +func fileExists(path string) bool { + _, err := os.Stat(path) + return err == nil +} + +func parsePrivateKey(keyPath string, keyPass string) (ssh.Signer, error) { + buff, err := ioutil.ReadFile(keyPath) + if err != nil { + return nil, err + } + + signer, err := ssh.ParsePrivateKey(buff) + if err != nil { + if strings.Contains(err.Error(), "cannot decode encrypted private keys") { + if keyPass == "" { + return nil, errors.New("SSH key password is not provided") + } + return sshkeys.ParseEncryptedPrivateKey(buff, []byte(keyPass)) + } + } + return signer, err +} + +func makeConfig(info *shared.SSHInfo) (*ssh.ClientConfig, error) { + methods := []ssh.AuthMethod{} + + // Try to use user-provided key, fallback to system default key + keyPath := info.Key + if keyPath == "" { + keyPath = privateKeyPath() + } else { + keyPath = expandKeyPath(keyPath) + } + + if !fileExists(keyPath) { + return nil, errors.New("ssh public key not found at " + keyPath) + } + + // Appen public key authentication method + key, err := parsePrivateKey(keyPath, info.KeyPassword) + if err != nil { + return nil, err + } + methods = append(methods, ssh.PublicKeys(key)) + + // Append password authentication method + if info.Password != "" { + methods = append(methods, ssh.Password(info.Password)) + } + + cfg := &ssh.ClientConfig{ + User: info.User, + Auth: methods, + Timeout: time.Second * 10, + HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error { + return nil + }, + } + + return cfg, nil +} + +func (tunnel *Tunnel) sshEndpoint() string { + return fmt.Sprintf("%s:%v", tunnel.SSHInfo.Host, tunnel.SSHInfo.Port) +} + +func (tunnel *Tunnel) targetEndpoint() string { + return fmt.Sprintf("%v:%v", tunnel.TargetHost, tunnel.TargetPort) +} + +func (tunnel *Tunnel) copy(wg *sync.WaitGroup, writer, reader net.Conn) { + defer wg.Done() + if _, err := io.Copy(writer, reader); err != nil { + log.Println("Tunnel copy error:", err) + } +} + +func (tunnel *Tunnel) handleConnection(local net.Conn) { + remote, err := tunnel.Client.Dial("tcp", tunnel.targetEndpoint()) + if err != nil { + return + } + + wg := sync.WaitGroup{} + wg.Add(2) + + go tunnel.copy(&wg, local, remote) + go tunnel.copy(&wg, remote, local) + + wg.Wait() + local.Close() +} + +// Close closes the tunnel connection +func (tunnel *Tunnel) Close() { + if tunnel.Client != nil { + tunnel.Client.Close() + } + + if tunnel.Listener != nil { + tunnel.Listener.Close() + } +} + +// Configure establishes the tunnel between localhost and remote machine +func (tunnel *Tunnel) Configure() error { + config, err := makeConfig(tunnel.SSHInfo) + if err != nil { + return err + } + tunnel.Config = config + + client, err := ssh.Dial("tcp", tunnel.sshEndpoint(), config) + if err != nil { + return err + } + tunnel.Client = client + + listener, err := net.Listen("tcp", fmt.Sprintf("127.0.0.1:%v", tunnel.Port)) + if err != nil { + return err + } + tunnel.Listener = listener.(*net.TCPListener) + + return nil +} + +// Start starts the connection handler loop +func (tunnel *Tunnel) Start() { + defer tunnel.Close() + + for { + conn, err := tunnel.Listener.Accept() + if err != nil { + return + } + + go tunnel.handleConnection(conn) + } +} + +// NewTunnel instantiates a new tunnel struct from given ssh info +func NewTunnel(sshInfo *shared.SSHInfo, dbUrl string) (*Tunnel, error) { + uri, err := url.Parse(dbUrl) + if err != nil { + return nil, err + } + + listenPort, err := connection.FindAvailablePort(portStart, portLimit) + if err != nil { + return nil, err + } + + chunks := strings.Split(uri.Host, ":") + host := chunks[0] + port := "5432" + + if len(chunks) == 2 { + port = chunks[1] + } + + tunnel := &Tunnel{ + Port: listenPort, + SSHInfo: sshInfo, + TargetHost: host, + TargetPort: port, + } + + return tunnel, nil +} diff --git a/pkg/client/util.go b/pkg/client/util.go new file mode 100644 index 0000000..d83bf1d --- /dev/null +++ b/pkg/client/util.go @@ -0,0 +1,45 @@ +package client + +import ( + "regexp" + "strings" +) + +var ( + // List of keywords that are not allowed in read-only mode + reRestrictedKeywords = regexp.MustCompile(`(?mi)\s?(CREATE|INSERT|DROP|DELETE|TRUNCATE|GRANT|OPEN|IMPORT|COPY)\s`) + + // Comment regular expressions + reSlashComment = regexp.MustCompile(`(?m)/\*.+\*/`) + reDashComment = regexp.MustCompile(`(?m)--.+`) +) + +// Get short version from the string +// Example: 10.2.3.1 -> 10.2 +func getMajorMinorVersion(str string) string { + chunks := strings.Split(str, ".") + if len(chunks) == 0 { + return str + } + return strings.Join(chunks[0:2], ".") +} + +// containsRestrictedKeywords returns true if given keyword is not allowed in read-only mode +func containsRestrictedKeywords(str string) bool { + str = reSlashComment.ReplaceAllString(str, "") + str = reDashComment.ReplaceAllString(str, "") + + return reRestrictedKeywords.MatchString(str) +} + +func hasBinary(data string, checkLen int) bool { + for idx, chr := range data { + if int(chr) < 32 || int(chr) > 126 { + return true + } + if idx >= checkLen { + break + } + } + return false +} diff --git a/pkg/command/options.go b/pkg/command/options.go new file mode 100644 index 0000000..18d2093 --- /dev/null +++ b/pkg/command/options.go @@ -0,0 +1,141 @@ +package command + +import ( + "errors" + "os" + "os/user" + "strings" + + "github.com/jessevdk/go-flags" +) + +type Options struct { + Version bool `short:"v" long:"version" description:"Print version"` + Debug bool `short:"d" long:"debug" description:"Enable debugging mode"` + URL string `long:"url" description:"Database connection string"` + Host string `long:"host" description:"Server hostname or IP" default:"localhost"` + Port int `long:"port" description:"Server port" default:"5432"` + User string `long:"user" description:"Database user"` + Pass string `long:"pass" description:"Password for user"` + DbName string `long:"db" description:"Database name"` + Ssl string `long:"ssl" description:"SSL mode"` + SslRootCert string `long:"ssl-rootcert" description:"SSL certificate authority file"` + SslCert string `long:"ssl-cert" description:"SSL client certificate file"` + SslKey string `long:"ssl-key" description:"SSL client certificate key file"` + HTTPHost string `long:"bind" description:"HTTP server host" default:"localhost"` + HTTPPort uint `long:"listen" description:"HTTP server listen port" default:"8081"` + AuthUser string `long:"auth-user" description:"HTTP basic auth user"` + AuthPass string `long:"auth-pass" description:"HTTP basic auth password"` + SkipOpen bool `short:"s" long:"skip-open" description:"Skip browser open on start"` + Sessions bool `long:"sessions" description:"Enable multiple database sessions"` + Prefix string `long:"prefix" description:"Add a url prefix"` + ReadOnly bool `long:"readonly" description:"Run database connection in readonly mode"` + LockSession bool `long:"lock-session" description:"Lock session to a single database connection"` + Bookmark string `short:"b" long:"bookmark" description:"Bookmark to use for connection. Bookmark files are stored under $HOME/.pgweb/bookmarks/*.toml" default:""` + BookmarksDir string `long:"bookmarks-dir" description:"Overrides default directory for bookmark files to search" default:""` + DisablePrettyJSON bool `long:"no-pretty-json" description:"Disable JSON formatting feature for result export"` + DisableSSH bool `long:"no-ssh" description:"Disable database connections via SSH"` + ConnectBackend string `long:"connect-backend" description:"Enable database authentication through a third party backend"` + ConnectToken string `long:"connect-token" description:"Authentication token for the third-party connect backend"` + ConnectHeaders string `long:"connect-headers" description:"List of headers to pass to the connect backend"` + DisableConnectionIdleTimeout bool `long:"no-idle-timeout" description:"Disable connection idle timeout"` + ConnectionIdleTimeout int `long:"idle-timeout" description:"Set connection idle timeout in minutes" default:"180"` + Cors bool `long:"cors" description:"Enable Cross-Origin Resource Sharing (CORS)"` + CorsOrigin string `long:"cors-origin" description:"Allowed CORS origins" default:"*"` + BinaryCodec string `long:"binary-codec" description:"Codec for binary data serialization, one of 'none', 'hex', 'base58', 'base64'" default:"none"` +} + +var Opts Options + +// ParseOptions returns a new options struct from the input arguments +func ParseOptions(args []string) (Options, error) { + var opts = Options{} + + _, err := flags.ParseArgs(&opts, args) + if err != nil { + return opts, err + } + + if opts.URL == "" { + opts.URL = os.Getenv("DATABASE_URL") + } + + if opts.Prefix == "" { + opts.Prefix = os.Getenv("URL_PREFIX") + } + + // Handle edge case where pgweb is started with a default host `localhost` and no user. + // When user is not set the `lib/pq` connection will fail and cause pgweb's termination. + if (opts.Host == "localhost" || opts.Host == "127.0.0.1") && opts.User == "" { + if username := GetCurrentUser(); username != "" { + opts.User = username + } else { + opts.Host = "" + } + } + + if os.Getenv("SESSIONS") != "" { + opts.Sessions = true + } + + if os.Getenv("LOCK_SESSION") != "" { + opts.LockSession = true + opts.Sessions = false + } + + if opts.Sessions || opts.ConnectBackend != "" { + opts.Bookmark = "" + opts.URL = "" + opts.Host = "" + opts.User = "" + opts.Pass = "" + opts.DbName = "" + opts.Ssl = "" + } + + if opts.Prefix != "" && !strings.Contains(opts.Prefix, "/") { + opts.Prefix = opts.Prefix + "/" + } + + if opts.AuthUser == "" && os.Getenv("AUTH_USER") != "" { + opts.AuthUser = os.Getenv("AUTH_USER") + } + + if opts.AuthPass == "" && os.Getenv("AUTH_PASS") != "" { + opts.AuthPass = os.Getenv("AUTH_PASS") + } + + if opts.ConnectBackend != "" { + if !opts.Sessions { + return opts, errors.New("--sessions flag must be set") + } + if opts.ConnectToken == "" { + return opts, errors.New("--connect-token flag must be set") + } + } else { + if opts.ConnectToken != "" || opts.ConnectHeaders != "" { + return opts, errors.New("--connect-backend flag must be set") + } + } + + return opts, nil +} + +// SetDefaultOptions parses and assigns the options +func SetDefaultOptions() error { + opts, err := ParseOptions([]string{}) + if err != nil { + return err + } + Opts = opts + return nil +} + +// GetCurrentUser returns a current user name +func GetCurrentUser() string { + u, _ := user.Current() + if u != nil { + return u.Username + } + return os.Getenv("USER") +} diff --git a/pkg/command/options_test.go b/pkg/command/options_test.go new file mode 100644 index 0000000..961370c --- /dev/null +++ b/pkg/command/options_test.go @@ -0,0 +1,47 @@ +package command + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestParseOptions(t *testing.T) { + // Test default behavior + opts, err := ParseOptions([]string{}) + assert.NoError(t, err) + assert.Equal(t, false, opts.Sessions) + assert.Equal(t, "", opts.Prefix) + assert.Equal(t, "", opts.ConnectToken) + assert.Equal(t, "", opts.ConnectHeaders) + assert.Equal(t, false, opts.DisableSSH) + assert.Equal(t, false, opts.DisablePrettyJSON) + assert.Equal(t, false, opts.DisableConnectionIdleTimeout) + assert.Equal(t, 180, opts.ConnectionIdleTimeout) + assert.Equal(t, false, opts.Cors) + assert.Equal(t, "*", opts.CorsOrigin) + + // Test sessions + opts, err = ParseOptions([]string{"--sessions", "1"}) + assert.NoError(t, err) + assert.Equal(t, true, opts.Sessions) + + // Test url prefix + opts, err = ParseOptions([]string{"--prefix", "pgweb"}) + assert.NoError(t, err) + assert.Equal(t, "pgweb/", opts.Prefix) + + opts, err = ParseOptions([]string{"--prefix", "pgweb/"}) + assert.NoError(t, err) + assert.Equal(t, "pgweb/", opts.Prefix) + + // Test connect backend options + opts, err = ParseOptions([]string{"--connect-backend", "test"}) + assert.EqualError(t, err, "--sessions flag must be set") + + opts, err = ParseOptions([]string{"--connect-backend", "test", "--sessions"}) + assert.EqualError(t, err, "--connect-token flag must be set") + + opts, err = ParseOptions([]string{"--connect-backend", "test", "--sessions", "--connect-token", "token"}) + assert.NoError(t, err) +} diff --git a/pkg/command/version.go b/pkg/command/version.go new file mode 100644 index 0000000..31b283a --- /dev/null +++ b/pkg/command/version.go @@ -0,0 +1,17 @@ +package command + +const ( + // Version is the current Pgweb application version + Version = "0.11.11" +) + +var ( + // GitCommit contains the Git commit SHA for the binary + GitCommit string + + // BuildTime contains the binary build time + BuildTime string + + // GoVersion contains the build time Go version + GoVersion string +) diff --git a/pkg/connection/connection_string.go b/pkg/connection/connection_string.go new file mode 100644 index 0000000..3ca831c --- /dev/null +++ b/pkg/connection/connection_string.go @@ -0,0 +1,137 @@ +package connection + +import ( + "errors" + "fmt" + neturl "net/url" + "os" + "os/user" + "strings" + + "github.com/sosedoff/pgweb/pkg/command" +) + +// Common errors +var ( + errCantDetectUser = errors.New("Could not detect default username") + errInvalidURLFormat = errors.New("Invalid URL. Valid format: postgres://user:password@host:port/db?sslmode=mode") +) + +// currentUser returns a current user name +func currentUser() (string, error) { + u, err := user.Current() + if err == nil { + return u.Username, nil + } + + name := os.Getenv("USER") + if name != "" { + return name, nil + } + + return "", errCantDetectUser +} + +// Check if connection url has a correct postgres prefix +func hasValidPrefix(str string) bool { + return strings.HasPrefix(str, "postgres://") || strings.HasPrefix(str, "postgresql://") +} + +// Extract all query vals and return as a map +func valsFromQuery(vals neturl.Values) map[string]string { + result := map[string]string{} + for k, v := range vals { + result[strings.ToLower(k)] = v[0] + } + return result +} + +// FormatURL reformats the existing connection string +func FormatURL(opts command.Options) (string, error) { + url := opts.URL + + // Validate connection string prefix + if !hasValidPrefix(url) { + return "", errInvalidURLFormat + } + + // Validate the URL + uri, err := neturl.Parse(url) + if err != nil { + return "", errInvalidURLFormat + } + + // Get query params + params := valsFromQuery(uri.Query()) + + // Determine if we need to specify sslmode if it's missing + if params["sslmode"] == "" { + if opts.Ssl == "" { + // Only modify sslmode for local connections + if strings.Contains(uri.Host, "localhost") || strings.Contains(uri.Host, "127.0.0.1") { + params["sslmode"] = "disable" + } + } else { + params["sslmode"] = opts.Ssl + } + } + + // Rebuild query params + query := neturl.Values{} + for k, v := range params { + query.Add(k, v) + } + uri.RawQuery = query.Encode() + + return uri.String(), nil +} + +// IsBlank returns true if command options do not contain connection details +func IsBlank(opts command.Options) bool { + return opts.Host == "" && opts.User == "" && opts.DbName == "" && opts.URL == "" +} + +// BuildStringFromOptions returns a new connection string built from options +func BuildStringFromOptions(opts command.Options) (string, error) { + query := neturl.Values{} + + // If connection string is provided we just use that + if opts.URL != "" { + return FormatURL(opts) + } + + // Try to detect user from current OS user + if opts.User == "" { + u, err := currentUser() + if err == nil { + opts.User = u + } + } + + if opts.Ssl != "" { + query.Add("sslmode", opts.Ssl) + } else { + if opts.Host == "localhost" || opts.Host == "127.0.0.1" { + query.Add("sslmode", "disable") + } + } + if opts.SslCert != "" { + query.Add("sslcert", opts.SslCert) + } + if opts.SslKey != "" { + query.Add("sslkey", opts.SslKey) + } + if opts.SslRootCert != "" { + query.Add("sslrootcert", opts.SslRootCert) + } + + url := neturl.URL{ + Scheme: "postgres", + Host: fmt.Sprintf("%v:%v", opts.Host, opts.Port), + User: neturl.UserPassword(opts.User, opts.Pass), + Path: fmt.Sprintf("/%s", opts.DbName), + RawQuery: query.Encode(), + } + + return url.String(), nil +} diff --git a/pkg/connection/connection_string_test.go b/pkg/connection/connection_string_test.go new file mode 100644 index 0000000..ce82bfe --- /dev/null +++ b/pkg/connection/connection_string_test.go @@ -0,0 +1,174 @@ +package connection + +import ( + "fmt" + "net/url" + "os/user" + "testing" + + "github.com/sosedoff/pgweb/pkg/command" + "github.com/stretchr/testify/assert" +) + +func Test_Invalid_Url(t *testing.T) { + opts := command.Options{} + examples := []string{ + "postgre://foobar", + "tcp://blah", + "foobar", + } + + for _, val := range examples { + opts.URL = val + str, err := BuildStringFromOptions(opts) + + assert.Equal(t, "", str) + assert.Error(t, err) + assert.Equal(t, "Invalid URL. Valid format: postgres://user:password@host:port/db?sslmode=mode", err.Error()) + } +} + +func Test_Valid_Url(t *testing.T) { + url := "postgres://myhost/database" + str, err := BuildStringFromOptions(command.Options{URL: url}) + + assert.Equal(t, nil, err) + assert.Equal(t, url, str) +} + +func Test_Url_And_Ssl_Flag(t *testing.T) { + str, err := BuildStringFromOptions(command.Options{ + URL: "postgres://myhost/database", + Ssl: "disable", + }) + + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://myhost/database?sslmode=disable", str) +} + +func Test_Localhost_Url_And_No_Ssl_Flag(t *testing.T) { + str, err := BuildStringFromOptions(command.Options{ + URL: "postgres://localhost/database", + }) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://localhost/database?sslmode=disable", str) + + str, err = BuildStringFromOptions(command.Options{ + URL: "postgres://127.0.0.1/database", + }) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://127.0.0.1/database?sslmode=disable", str) +} + +func Test_Localhost_Url_And_Ssl_Flag(t *testing.T) { + str, err := BuildStringFromOptions(command.Options{ + URL: "postgres://localhost/database", + Ssl: "require", + }) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://localhost/database?sslmode=require", str) + + str, err = BuildStringFromOptions(command.Options{ + URL: "postgres://127.0.0.1/database", + Ssl: "require", + }) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://127.0.0.1/database?sslmode=require", str) +} + +func Test_Localhost_Url_And_Ssl_Arg(t *testing.T) { + str, err := BuildStringFromOptions(command.Options{ + URL: "postgres://localhost/database?sslmode=require", + }) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://localhost/database?sslmode=require", str) + + str, err = BuildStringFromOptions(command.Options{ + URL: "postgres://127.0.0.1/database?sslmode=require", + }) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://127.0.0.1/database?sslmode=require", str) +} + +func Test_ExtendedSSLFlags(t *testing.T) { + str, err := BuildStringFromOptions(command.Options{ + URL: "postgres://localhost/database?sslmode=require&sslcert=cert&sslkey=key&sslrootcert=ca", + }) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://localhost/database?sslcert=cert&sslkey=key&sslmode=require&sslrootcert=ca", str) +} + +func Test_Flag_Args(t *testing.T) { + str, err := BuildStringFromOptions(command.Options{ + Host: "host", + Port: 5432, + User: "user", + Pass: "password", + DbName: "db", + }) + + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://user:password@host:5432/db", str) +} + +func Test_Localhost(t *testing.T) { + opts := command.Options{ + Host: "localhost", + Port: 5432, + User: "user", + Pass: "password", + DbName: "db", + } + + str, err := BuildStringFromOptions(opts) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://user:password@localhost:5432/db?sslmode=disable", str) + + opts.Host = "127.0.0.1" + str, err = BuildStringFromOptions(opts) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://user:password@127.0.0.1:5432/db?sslmode=disable", str) +} + +func Test_Localhost_And_Ssl(t *testing.T) { + opts := command.Options{ + Host: "localhost", + Port: 5432, + User: "user", + Pass: "password", + DbName: "db", + Ssl: "require", + SslKey: "keyPath", + SslCert: "certPath", + SslRootCert: "caPath", + } + + str, err := BuildStringFromOptions(opts) + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://user:password@localhost:5432/db?sslcert=certPath&sslkey=keyPath&sslmode=require&sslrootcert=caPath", str) +} + +func Test_No_User(t *testing.T) { + opts := command.Options{Host: "host", Port: 5432, DbName: "db"} + u, _ := user.Current() + str, err := BuildStringFromOptions(opts) + userAndPass := url.UserPassword(u.Username, "").String() + + assert.Equal(t, nil, err) + assert.Equal(t, fmt.Sprintf("postgres://%s@host:5432/db", userAndPass), str) +} + +func Test_Port(t *testing.T) { + opts := command.Options{Host: "host", User: "user", Port: 5000, DbName: "db"} + str, err := BuildStringFromOptions(opts) + + assert.Equal(t, nil, err) + assert.Equal(t, "postgres://user:@host:5000/db", str) +} + +func Test_Blank(t *testing.T) { + assert.Equal(t, true, IsBlank(command.Options{})) + assert.Equal(t, false, IsBlank(command.Options{Host: "host", User: "user"})) + assert.Equal(t, false, IsBlank(command.Options{Host: "host", User: "user", DbName: "db"})) + assert.Equal(t, false, IsBlank(command.Options{URL: "url"})) +} diff --git a/pkg/connection/port.go b/pkg/connection/port.go new file mode 100644 index 0000000..a596730 --- /dev/null +++ b/pkg/connection/port.go @@ -0,0 +1,32 @@ +package connection + +import ( + "errors" + "fmt" + "net" + "strings" +) + +// IsPortAvailable returns true if there's no listeners on a given port +func IsPortAvailable(port int) bool { + conn, err := net.Dial("tcp", fmt.Sprintf("127.0.0.1:%v", port)) + if err != nil { + if strings.Index(err.Error(), "connection refused") > 0 { + return true + } + return false + } + + conn.Close() + return false +} + +// FindAvailablePort returns the first available TCP port in the range +func FindAvailablePort(start int, limit int) (int, error) { + for i := start; i <= (start + limit); i++ { + if IsPortAvailable(i) { + return i, nil + } + } + return -1, errors.New("No available port") +} diff --git a/pkg/connection/port_test.go b/pkg/connection/port_test.go new file mode 100644 index 0000000..4ee3eae --- /dev/null +++ b/pkg/connection/port_test.go @@ -0,0 +1,75 @@ +package connection + +import ( + "fmt" + "net" + "os" + "runtime" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestIsPortAvailable(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("FIXME") + } + + assert.Equal(t, true, IsPortAvailable(30000)) + + serv, err := net.Listen("tcp", "127.0.0.1:30000") + if err != nil { + fmt.Fprintln(os.Stderr, "Unable to start test tcp listener:", err) + t.Fail() + return + } + defer serv.Close() + + go func() { + for { + conn, err := serv.Accept() + if err == nil { + conn.Close() + } + serv.Close() + } + }() + + assert.Equal(t, false, IsPortAvailable(30000)) + assert.Equal(t, true, IsPortAvailable(30001)) +} + +func TestFindAvailablePort(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("FIXME") + } + + port, err := FindAvailablePort(30000, 1) + assert.Equal(t, nil, err) + assert.Equal(t, 30000, port) + + serv, err := net.Listen("tcp", "127.0.0.1:30000") + if err != nil { + fmt.Fprintln(os.Stderr, "Unable to start test tcp listener:", err) + t.Fail() + return + } + defer serv.Close() + + go func() { + for { + conn, err := serv.Accept() + if err == nil { + conn.Close() + } + } + }() + + port, err = FindAvailablePort(30000, 0) + assert.EqualError(t, err, "No available port") + assert.Equal(t, -1, port) + + port, err = FindAvailablePort(30000, 1) + assert.Equal(t, nil, err) + assert.Equal(t, 30001, port) +} diff --git a/pkg/history/history.go b/pkg/history/history.go new file mode 100644 index 0000000..09ccf15 --- /dev/null +++ b/pkg/history/history.go @@ -0,0 +1,21 @@ +package history + +import ( + "time" +) + +type Record struct { + Query string `json:"query"` + Timestamp string `json:"timestamp"` +} + +func New() []Record { + return make([]Record, 0) +} + +func NewRecord(query string) Record { + return Record{ + Query: query, + Timestamp: time.Now().String(), + } +} diff --git a/pkg/shared/ssh_info.go b/pkg/shared/ssh_info.go new file mode 100644 index 0000000..c1d374a --- /dev/null +++ b/pkg/shared/ssh_info.go @@ -0,0 +1,19 @@ +package shared + +import ( + "fmt" +) + +// SSHInfo contains ssh server configuration +type SSHInfo struct { + Host string `json:"host,omitempty"` + Port string `json:"port,omitempty"` + User string `json:"user,omitempty"` + Password string `json:"password,omitempty"` + Key string `json:"key,omitempty"` + KeyPassword string `json:"keypassword,omitempty"` +} + +func (info SSHInfo) String() string { + return fmt.Sprintf("%s@%s:%s", info.User, info.Host, info.Port) +} diff --git a/pkg/statements/sql.go b/pkg/statements/sql.go new file mode 100644 index 0000000..84a94eb --- /dev/null +++ b/pkg/statements/sql.go @@ -0,0 +1,167 @@ +package statements + +const ( + Databases = ` +SELECT + datname +FROM + pg_database +WHERE + NOT datistemplate +ORDER BY + datname ASC` + + // --------------------------------------------------------------------------- + + Schemas = ` +SELECT + schema_name +FROM + information_schema.schemata +ORDER BY + schema_name ASC` + + // --------------------------------------------------------------------------- + + Info = ` +SELECT + session_user, + current_user, + current_database(), + current_schemas(false), + inet_client_addr(), + inet_client_port(), + inet_server_addr(), + inet_server_port(), + version()` + + // --------------------------------------------------------------------------- + + EstimatedTableRowCount = ` +SELECT + reltuples +FROM + pg_class +WHERE + oid = ('"' || $1::text || '"."' || $2::text || '"')::regclass +` + + // --------------------------------------------------------------------------- + + TableIndexes = ` +SELECT + indexname, indexdef +FROM + pg_indexes +WHERE + schemaname = $1 AND + tablename = $2` + + // --------------------------------------------------------------------------- + + TableConstraints = ` +SELECT + conname as name, + pg_get_constraintdef(c.oid, true) as definition +FROM + pg_constraint c +JOIN + pg_namespace n ON n.oid = c.connamespace +JOIN + pg_class cl ON cl.oid = c.conrelid +WHERE + n.nspname = $1 AND + relname = $2 +ORDER BY + contype desc` + + // --------------------------------------------------------------------------- + + TableInfo = ` +SELECT + pg_size_pretty(pg_table_size($1)) AS data_size, + pg_size_pretty(pg_indexes_size($1)) AS index_size, + pg_size_pretty(pg_total_relation_size($1)) AS total_size, + (SELECT reltuples FROM pg_class WHERE oid = $1::regclass) AS rows_count` + + TableInfoCockroach = ` +SELECT + 'n/a' AS data_size, + 'n/a' AS index_size, + 'n/a' AS total_size, + 'n/a' AS rows_count` + + // --------------------------------------------------------------------------- + + TableSchema = ` +SELECT + column_name, + data_type, + is_nullable, + character_maximum_length, + character_set_catalog, + column_default, + pg_catalog.col_description(('"' || $1::text || '"."' || $2::text || '"')::regclass::oid, ordinal_position) as comment +FROM + information_schema.columns +WHERE + table_schema = $1 AND + table_name = $2` + + // --------------------------------------------------------------------------- + + MaterializedView = ` +SELECT + attname as column_name, + atttypid::regtype AS data_type, + (case when attnotnull IS TRUE then 'NO' else 'YES' end) as is_nullable, + null as character_maximum_length, + null as character_set_catalog, + null as column_default +FROM + pg_attribute +WHERE + attrelid = $1::regclass AND + attnum > 0 AND + NOT attisdropped` + + // --------------------------------------------------------------------------- + + Objects = ` +SELECT + n.nspname as "schema", + c.relname as "name", + CASE c.relkind + WHEN 'r' THEN 'table' + WHEN 'v' THEN 'view' + WHEN 'm' THEN 'materialized_view' + WHEN 'i' THEN 'index' + WHEN 'S' THEN 'sequence' + WHEN 's' THEN 'special' + WHEN 'f' THEN 'foreign_table' + END as "type", + pg_catalog.pg_get_userbyid(c.relowner) as "owner", + pg_catalog.obj_description(c.oid) as "comment" +FROM + pg_catalog.pg_class c +LEFT JOIN + pg_catalog.pg_namespace n ON n.oid = c.relnamespace +WHERE + c.relkind IN ('r','v','m','S','s','') AND + n.nspname !~ '^pg_toast' AND + n.nspname NOT IN ('information_schema', 'pg_catalog') AND + has_schema_privilege(n.nspname, 'USAGE') +ORDER BY 1, 2` +) + +var ( + Activity = map[string]string{ + "default": "SELECT * FROM pg_stat_activity WHERE datname = current_database()", + "9.1": "SELECT datname, current_query, waiting, query_start, procpid as pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", + "9.2": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", + "9.3": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", + "9.4": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", + "9.5": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", + "9.6": "SELECT datname, query, state, wait_event, wait_event_type, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", + } +) diff --git a/pkg/util/profiler.go b/pkg/util/profiler.go new file mode 100644 index 0000000..e846ad3 --- /dev/null +++ b/pkg/util/profiler.go @@ -0,0 +1,32 @@ +package util + +import ( + "log" + "os" + "runtime" + "time" +) + +const MEGABYTE = 1024 * 1024 + +func runProfiler() { + logger := log.New(os.Stdout, "", 0) + m := &runtime.MemStats{} + + for { + runtime.ReadMemStats(m) + + logger.Printf( + "[DEBUG] Goroutines: %v, Mem used: %v (%v mb), Mem acquired: %v (%v mb)\n", + runtime.NumGoroutine(), + m.Alloc, m.Alloc/MEGABYTE, + m.Sys, m.Sys/MEGABYTE, + ) + + time.Sleep(time.Second * 30) + } +} + +func StartProfiler() { + go runProfiler() +} diff --git a/screenshots/browse.png b/screenshots/browse.png new file mode 100644 index 0000000000000000000000000000000000000000..4689e0c3804a6a37c8d1e96416c5341d5127111e GIT binary patch literal 587676 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%0D%7mFa5rKq#Uv&U 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%0A`WwZdvfLi>hRF*rAYG4oD_Z+tVr>js;0G)(l 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%0DhEn2TbDIUV$EnNU)&c9qYMlwYBa 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 literal 0 HcmV?d00001 diff --git a/screenshots/connect.png b/screenshots/connect.png new file mode 100644 index 0000000000000000000000000000000000000000..c16bcc02f972094bd4d62da758af1e6463be68ab GIT binary patch literal 140000 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 z

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 E039~{_5c6? literal 0 HcmV?d00001 diff --git a/screenshots/query.png b/screenshots/query.png new file mode 100644 index 0000000000000000000000000000000000000000..05c0e86a5a992f1ca6acef8b24b3b065a89749bc GIT binary patch literal 295353 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 z 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�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

Pw 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 qOwvqp1)8hg9^dSx $file" + done + exit 1 +fi \ No newline at end of file diff --git a/script/package.sh b/script/package.sh new file mode 100644 index 0000000..f46bec2 --- /dev/null +++ b/script/package.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +DIR="./bin" +rm -f $DIR/*.zip + +for file in $(ls $DIR) +do + fin=$DIR/$file + fout=$DIR/$file.zip + shasum -a 256 $fin + zip -9 -q -j $fout $fin + shasum -a 256 $fout +done \ No newline at end of file diff --git a/script/test_all.sh b/script/test_all.sh new file mode 100644 index 0000000..061381f --- /dev/null +++ b/script/test_all.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# +# Integartion testing with dockerized Postgres servers +# +# Requires Docker for Mac to run on OSX. +# Install: https://docs.docker.com/engine/installation/mac/ +# + +set -e + +export PGHOST=${PGHOST:-localhost} +export PGUSER="postgres" +export PGPASSWORD="ci" +export PGDATABASE="booktown" +export PGPORT="15432" + +# TODO: Enable the 10.x branch when it's supported on Travis. +# Local 10.x version is required so that pg_dump can properly work with older versions. +# 10.x branch is normally supported. +versions="9.1 9.2 9.3 9.4 9.5 9.6" + +for i in $versions +do + export PGVERSION="$i" + + echo "------------------------------- BEGIN TEST -------------------------------" + echo "Running tests against PostgreSQL v$PGVERSION" + docker rm -f postgres || true + docker run -p $PGPORT:5432 --name postgres -e POSTGRES_PASSWORD=$PGPASSWORD -d postgres:$PGVERSION + sleep 5 + make test + echo "-------------------------------- END TEST --------------------------------" +done + diff --git a/script/test_cockroach.sh b/script/test_cockroach.sh new file mode 100644 index 0000000..a4cf351 --- /dev/null +++ b/script/test_cockroach.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +set -e + +function killproc() { + if [[ $(lsof -i tcp:8888) ]]; then + lsof -i tcp:8888 | grep pgweb | awk '{print $2}' | xargs kill + fi +} + +# Nuke the old container if exists. +docker rm -f cockroach || true + +# Start cockroach on 26258 so we dont mess with local server. +docker run \ + --name=cockroach \ + -d \ + -t \ + -p 26258:26257 \ + cockroachdb/cockroach:v20.2.5 \ + start-single-node --insecure + +sleep 3 + +# Load the demo database. +docker exec -i cockroach ./cockroach sql --insecure < ./data/roach.sql + +# Find and destroy the existing pgweb process. +# Would be great if pgweb had --pid option. +killproc + +# Start pgweb and connect to cockroach. +make build + +./pgweb \ + --url=postgres://root@localhost:26258/roach?sslmode=disable \ + --listen=8888 \ + --skip-open & + +sleep 1 + +# Run smoke tests +base="-w \"\n\" -f http://localhost:8888/api" +table="product_information" + +curl $base/info +curl $base/connection +curl $base/schemas +curl $base/objects +curl $base/query -F query='select * from product_information;' +curl $base/tables/$table +curl $base/tables/$table/rows +curl $base/tables/$table/info +curl $base/tables/$table/indexes +curl $base/tables/$table/constraints + +# Cleanup +killproc \ No newline at end of file diff --git a/script/update_homebrew.sh b/script/update_homebrew.sh new file mode 100644 index 0000000..0280f55 --- /dev/null +++ b/script/update_homebrew.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +RELEASE_FILE="./tmp/release.json" +HOMEBREW_ROOT="/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" +export HOMEBREW_GITHUB_API_TOKEN=$(awk '/api.github.com/{getline;getline;print $2}' ~/.netrc) + +# Setup directory +mkdir -p ./tmp +rm -rf ./tmp/* + +# Fetch the latest published version +curl -s https://api.github.com/repos/sosedoff/pgweb/releases/latest > $RELEASE_FILE +VERSION="$(jq -r .tag_name < $RELEASE_FILE)" +URL="https://github.com/sosedoff/pgweb/archive/$VERSION.tar.gz" +URL_SHA256=$(wget -qO- $URL | shasum -a 256 | cut -d ' ' -f 1) + +# Reset any changes +git -C $HOMEBREW_ROOT reset --hard + +# Update formula +brew bump-formula-pr \ + --url=$URL \ + --sha256=$URL_SHA256 \ + pgweb diff --git a/static/css/app.css b/static/css/app.css new file mode 100644 index 0000000..4041dc6 --- /dev/null +++ b/static/css/app.css @@ -0,0 +1,799 @@ +#main { + display: none; +} + +#nav { + position: fixed; + top: 0; + left: 250px; + right: 0; + height: 50px; + background: #79589f; +} + +#nav ul { + margin: 0px; + padding: 0px; + height: 50px; + display: block; +} + +#nav ul li { + margin: 0px; + padding: 0px; + float: left; + height: 49px; + line-height: 49px; + font-size: 13px; + padding: 0px 14px; + color: #d6cce2; + font-weight: 500; + margin: 0 1px; + cursor: pointer; + display: block; + list-style: none; + list-style-type: none; +} + +#nav ul li:first-child { + margin-left: 0px; +} + +#nav ul li:hover { + color: #fff; +} + +#nav ul li.selected { + position: relative; + background: #fff; + color: #000; + margin: 0; +} + +#nav ul li.selected:before { + content: ' '; + position: absolute; + bottom: -1px; + left: 0; right: 0; + height: 1px; + widows: 100%; + background: #fff; +} + +#nav ul li.selected:first-child { + border-left: none; +} + +#sidebar { + position: fixed; + width: 250px; + left: 0px; + top: 0px; + bottom: 0px; + box-sizing: border-box; + background: #f9f9f9; +} + +#sidebar .current-database { + position: fixed; + left: 0px; + top: 0px; + width: 250px; + height: 50px; + line-height: 50px; + font-weight: bold; + font-size: 14px; + color: #fff; + background: #79589f; + z-index: 900; +} + +#sidebar .current-database .wrap { + position: relative; + height: 50px; +} + +#sidebar .current-database span.current-database-name { + margin-left: 30px; + display: inline-block; + width: 200px; + height: 50px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; +} + +#sidebar .current-database i.fa-database { + position: absolute; + left: 8px; + top: 18px; +} + +#sidebar .current-database input.typeahead { + margin-left: 30px; + display: inline-block; + width: 200px; + height: 50px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#sidebar .current-database input.typeahead { + display: none; + background: #79589f; + width: 200px; + height: 22px; + color: #fff; + font-weight: normal; + outline: none; + border: 0px none; +} + +#sidebar .current-database span.refresh { + position: absolute; + top: 0px; + right: 6px; + cursor: pointer; + color: #fff; + display: none; +} + +#sidebar .current-database:hover span.refresh { + display: inline-block; +} + +#sidebar .current-database input.typeahead::-webkit-input-placeholder { + color: #fff; +} + +#sidebar ul.typeahead { + position: absolute; + margin-left: 30px; + overflow-y: auto; + max-height: 300px; + z-index: 999; +} + +#sidebar ul.typeahead a { + font-size: 13px; + padding: 3px 10px; +} + +#sidebar .objects-search { + position: fixed; + top: 50px; + left: 0px; + width: 250px; + height: 30px; + overflow: hidden; +} + +#sidebar .objects-search .wrap { + position: relative; + background: transparent; + height: 30px; + padding: 4px; + box-sizing: border-box; + border-bottom: 1px solid #eee; +} + +#sidebar .objects-search i.fa-search { + position: absolute; + left: 8px; + top: 7px; + color: #a1a1a1; +} + +#sidebar .objects-search i.fa-times-circle { + position: absolute; + right: 8px; + top: 7px; + color: #a1a1a1; + display: none; + cursor: pointer; +} + +#sidebar .objects-search i.fa-times-circle:hover { + color: #888; +} + +#sidebar .objects-search input[type="text"] { + background: transparent; + border: 0px none; + font-size: 12px; + color: #000; + height: 22px; + line-height: 22px; + padding: 0px; + margin-left: 25px; + width: 200px; + outline: none; +} + +#sidebar div.tables-list { + position: fixed; + width: 250px; + top: 80px; + left: 0px; + bottom: 130px; + overflow: auto; +} + +#sidebar div.tables-list .wrap { + height: 100%; + overflow: auto; +} + + +#sidebar div.tables-list #tables, #sequences, #objects { + font-size: 12px; +} + +#sidebar div.table-information { + position: fixed; + width: 250px; + left: 0px; + height: 130px; + bottom: 0px; + box-sizing: border-box; + cursor: default; +} + +#sidebar div.table-information .wrap { + height: 100%; + overflow-y: auto; +} + +#sidebar div.table-information .title { + font-size: 12px; + text-transform: uppercase; + color: #aaa; + line-height: 30px; + padding: 0px 8px; + border-top: 1px solid #eee; +} + +#sidebar div.table-information .lines { + display: none; +} + +#sidebar div.table-information .lines .line { + line-height: 24px; + height: 24px; + padding: 0 8px 0 8px; + font-size: 12px; + color: #7F7E7F !important; +} + +#sidebar div.table-information .lines .line span { + color: #4F4F4F; + min-width: 0; + padding-left: 0px; +} + +#body { + position: fixed; + top: 50px; + left: 250px; + bottom: 0px; + right: 0px; + overflow: auto; +} + +#input { + height: 255px; +} + +#input .wrapper { + position: relative; +} + +#input .actions { + background: #fff; + padding: 10px; + height: 50px; + border-bottom: solid 1px #ddd; +} + +#input .actions #result-rows-count { + font-size: 12px; + display: inline-block; + height: 30px; + line-height: 30px; + float: left; + margin-right: 10px; + color: #999; +} + +#input .actions .btn { + line-height: 30px; + height: 30px; + padding: 0px 13px; + margin: 0px; + font-size: 13px; + color: #555; + border: none; + box-shadow: none; + background: transparent; + border: 1px solid #999; + float: left; + margin-right: 10px; +} + +#input .actions .btn-primary { + border-color: #7eb54e; + color: #7eb54e; +} + +#input .actions .btn:hover { + background: transparent !important; + border-color: #444; + color: #000; +} + +#input .actions .btn-primary:hover { + color: #64903e; + border-color: #64903e; +} + +#input .actions #query_progress { + display: none; + float: left; + line-height: 30px; + height: 30px; + color: #aaa; +} + +#input .actions .btn:focus { + outline: 0 none; + box-shadow: 0; +} + +#input .actions .btn:hover { + background: #7eb154; +} + +#input .actions .btn-default:hover { + background: #bbb; +} + +#input .actions .btn:last-child { + margin-right: 0px; +} + +#objects { +} + +#output { + position: absolute; + left: 0px; + top: 256px; + bottom: 0px; + right: 0px; + margin: 0px; + padding: 0px; + overflow: auto; +} + +#pagination { + display: none; + position: absolute; + width: 100%; + height: 50px; + padding: 10px; + top: 0px; + left: 0px; + background: #fff; + border-bottom: 1px solid #eee; + box-shadow: 0 1px 3px 0px #f1f1f1; +} + +#pagination .pager-container { + float: right; +} + +#pagination .filters { + float: left; + font-size: 12px; +} + +#pagination .filters span { + display: inline-block; + float: left; + font-weight: bold; + line-height: 32px; + height: 32px; + margin: 0px 8px; + color: #999; +} + +#pagination .filters select { + font-size: 12px; + width: 100px; + float: left; + line-height: 30px; + height: 30px; + margin-right: 8px; + outline: none; +} + +#pagination .filters select.column { + width: 150px; +} + +#pagination .filters select.filter { + width: 100px; +} + +#pagination .filters input { + float: left; + width: 200px; + height: 30px; + line-height: 30px; + margin-right: 8px; + font-size: 12px; +} + +#pagination .filters .btn-primary { + border-color: #7eb54e; + color: #7eb54e; + background: #fff; + outline: none; + float: left; + margin-right: 8px; +} + +#pagination .filters .btn-default { + float: left; + outline: none; +} + +#pagination .btn-group { + float: right; +} + +#pagination .current-page { + float: right; + font-size: 12px; + margin-right: 12px; + color: #999; + line-height: 32px; + height: 32px; +} + +#results { + font-size: 12px; + margin: 0px; + padding: 0px; +} + +#results.empty td { + border: 0px none; +} + +#results tr:nth-child(even) > td { + border: none; + background: #ffffff; +} + +#results tr:nth-child(odd) > td { + border: none; + background: #f9f9f9; +} + +#results th { + border-top: none; + border-bottom: 1px solid #eae9e9; + padding: 3px 9px; + line-height: 24px; + color: #333; + font-weight: bold; + cursor: pointer; + + -webkit-font-smoothing: antialiased; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + user-select: none; +} + +#results th:hover { + background: #f8f8f8; +} + +#results th.active { + background: #f3faff; +} + +#results[data-mode="browse"] th:hover { + cursor: pointer; + background: #fafafa; +} + +#results tbody tr:hover td { + background: #ffe; +} + +#results tbody tr { + border-bottom: 1px solid #f2f2f2; +} + +#results tr.selected td { + background: #3874d7 !important; + color: #fff !important; +} + +#results td { + color: #3a3633; + vertical-align: middle; + border: 0px none; +} + +#results td div { + max-width: 350px; + max-height: 51px; + overflow: hidden; + text-overflow: ellipsis; + white-space: pre; +} + +#results td div span.null { + color: #bbb; + text-transform: uppercase; +} + +#results td textarea { + color: #000 !important; + font-size: 12px; +} + +#results th:first-child, +#results td:first-child { + padding-left: 15px; +} + +#results.no-crop td div { + max-width: none; +} + +.full #output { + top: 0px !important; +} + +.with-pagination #output { + top: 50px !important; +} + +.with-pagination #pagination { + display: block; +} + +.left { + float: left; +} + +/* -------------------------------------------------------------------------- */ + +#custom_query { + height: 193px; + margin-top: 12px; +} + +#connection_window { + z-index: 3; + position: fixed; + background: #fff; + top: 0px; + left: 0px; + bottom: 0px; + right: 0px; + display: none; + overflow-y: auto; +} + +.connection-actions { + position: fixed; + right: 8px; + top: 10px; + display: none; +} + +#edit_connection, #close_connection { + background: #79589f; + color: #fff; + border-color: #fff; +} + +#edit_connection i { + margin-right: 4px; +} + +#close_connection_window { + display: none; +} + +#connection_error { + display: none; +} + +.bookmarks { + display: none; +} + +.connection-settings { + width: 600px; + margin: 0px auto; + margin-top: 50px; +} + +.connection-settings .header { + margin-bottom: 25px; +} + +.connection-settings .header h1 { + text-align: center; + text-shadow: 0px 1px 0px #fff; + color: #999; + font-weight: normal; +} + +.connection-settings .header .version { + font-size: 12px; + color: #aaa; + text-align: center; + display: block; +} + +.connection-settings .header .update { + font-size: 12px; + text-align: center; + padding: 4px; + margin: 12px 0px; + display: none; +} + +.connection-settings form { + background: #f6f6f6; + padding: 25px; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} + +.connection-settings form p.help-block { + font-size: 12px; +} + +.connection-settings form .no-left-padding { + padding-left: 0; +} + +.connection-scheme-group { + display: none; +} + +.connection-ssh-group { + display: none; + z-index: 1000; +} + +.connection-ssh-group h3 { + font-size: 18px; + margin: 0px 0px 20px 0px; + color: #aaa; +} + +/* -------------------------------------------------------------------------- */ +/* Sidebar Schema Objects */ +/* -------------------------------------------------------------------------- */ + +.schema {} +.schema i { display: inline-block; margin-right: 4px; } +.schema i.fa-folder-o { display: inline-block; } +.schema i.fa-folder-open-o { display: none; } +.schema.expanded i.fa-folder-open-o { display: inline-block; } +.schema.expanded i.fa-folder-o { display: none; } + +.schema .schema-name { + font-weight: bold; + font-size: 13px; + display: block; + line-height: 30px; + height: 30px; + padding: 0px 8px; + cursor: pointer; + white-space: nowrap; +} + +.schema .schema-container { + display: none; +} + +.schema.expanded .schema-container { + display: block; +} + +.schema .schema-container .schema-group .fa-chevron-down { + display: none; +} + +.schema .schema-container .schema-group .schema-group-title { + display: block; + cursor: pointer; + line-height: 30px; + height: 30px; + padding: 0px 8px; + overflow: hidden; +} + +.schema .schema-container .schema-group .schema-group-count { + color: #999; + display: inline-block; + float: right; + margin-right: 8px; +} + +.schema .schema-container .schema-group ul { + padding: 0px; + margin: 0px; + display: none; +} + +.schema .schema-container .schema-group ul li { + list-style: none; + list-style-type: none; + margin: 0px; + line-height: 30px; + height: 30px; + cursor: pointer; + padding: 0px 8px; + padding-left: 16px; + white-space: nowrap; + overflow: x-scroll; +} + +.schema .schema-container .schema-group ul li i { + color: #999; +} + +.schema .schema-container .schema-group ul li.active { + background: #f1f1f1; + color: #333; + font-weight: bold; +} + +.schema .schema-container .schema-group ul li:hover { + background: #f1f1f1; +} + +.schema .schema-container .schema-group.expanded .fa-chevron-down { + display: inline-block; +} + +.schema .schema-container .schema-group.expanded .fa-chevron-right { + display: none; +} + +.schema .schema-container .schema-group.expanded ul { + display: block; +} + +/* -------------------------------------------------------------------------- */ +/* Ace Customizations */ +/* -------------------------------------------------------------------------- */ + +.ace_gutter, .ace_gutter-cell { + background: #fff !important; + color: #bbb; + font-size: 12px; +} + +.ace_content .ace_active-line { + background: none !important; +} + +.ace_autocomplete .ace_active-line { + background: #eee !important; +} \ No newline at end of file diff --git a/static/css/bootstrap.css b/static/css/bootstrap.css new file mode 100644 index 0000000..a9f35ce --- /dev/null +++ b/static/css/bootstrap.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/static/css/font-awesome.css b/static/css/font-awesome.css new file mode 100644 index 0000000..ec53d4d --- /dev/null +++ b/static/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} \ No newline at end of file diff --git a/static/data.go b/static/data.go new file mode 100644 index 0000000..462a3aa --- /dev/null +++ b/static/data.go @@ -0,0 +1,7 @@ +package static + +import "embed" + +//go:embed img/* js/* css/* fonts/* +//go:embed index.html +var Static embed.FS \ No newline at end of file diff --git a/static/fonts/FontAwesome.otf b/static/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..81c9ad949b47f64afeca5642ee2494b6e3147f44 GIT binary patch literal 85908 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 uQr82 literal 0 HcmV?d00001 diff --git a/static/fonts/fontawesome-webfont.eot b/static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..84677bc0c5f37f1fac9d87548c4554b5c91717cf GIT binary patch literal 56006 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�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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/fonts/fontawesome-webfont.ttf b/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..96a3639cdde5e8ab459c6380e3b9524ee81641dc GIT binary patch literal 112160 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 zÄ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 V*eEM;|ho{trTA6=?tf literal 0 HcmV?d00001 diff --git a/static/fonts/fontawesome-webfont.woff b/static/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..628b6a52a87e62c6f22426e17c01f6a303aa194e GIT binary patch literal 65452 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 q%u^)w#YX9ZIvhtu?9Cy6YRi6f6G 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 literal 0 HcmV?d00001 diff --git a/static/img/icon.png b/static/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7ac484c426e2d3a37a1b04afc7f6b509fde390d0 GIT binary patch literal 3361 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 literal 0 HcmV?d00001 diff --git a/static/index.html b/static/index.html new file mode 100644 index 0000000..ce5c643 --- /dev/null +++ b/static/index.html @@ -0,0 +1,316 @@ + + + + openGauss-webclient + + + + + + + + + + + + + + + + + + + +

+ + +
+
+
+
+
+ +
+ + +
+
请稍后,查询执行中...
+
+ + + + +
+
+
+
+
+
+ + + +
+
+
+ +
+
+ +
+
+
+

openGauss-webclient

+
+
+
+ +
+
+
+ + + +
+
+ +
+ +
+
+
+ + +

+ URL format: postgres://user:password@host:port/db?sslmode=mode
+ Read more on PostgreSQL connection string format. +

+
+
+
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+
+ +

SSH Connection

+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+ + +
+
+
+
+
+ + +
+ +
+ + + + diff --git a/static/js/ace-pgsql.js b/static/js/ace-pgsql.js new file mode 100644 index 0000000..ac19a31 --- /dev/null +++ b/static/js/ace-pgsql.js @@ -0,0 +1,7 @@ +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/perl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="base|constant|continue|else|elsif|for|foreach|format|goto|if|last|local|my|next|no|package|parent|redo|require|scalar|sub|unless|until|while|use|vars",t="ARGV|ENV|INC|SIG",n="getprotobynumber|getprotobyname|getservbyname|gethostbyaddr|gethostbyname|getservbyport|getnetbyaddr|getnetbyname|getsockname|getpeername|setpriority|getprotoent|setprotoent|getpriority|endprotoent|getservent|setservent|endservent|sethostent|socketpair|getsockopt|gethostent|endhostent|setsockopt|setnetent|quotemeta|localtime|prototype|getnetent|endnetent|rewinddir|wantarray|getpwuid|closedir|getlogin|readlink|endgrent|getgrgid|getgrnam|shmwrite|shutdown|readline|endpwent|setgrent|readpipe|formline|truncate|dbmclose|syswrite|setpwent|getpwnam|getgrent|getpwent|ucfirst|sysread|setpgrp|shmread|sysseek|sysopen|telldir|defined|opendir|connect|lcfirst|getppid|binmode|syscall|sprintf|getpgrp|readdir|seekdir|waitpid|reverse|unshift|symlink|dbmopen|semget|msgrcv|rename|listen|chroot|msgsnd|shmctl|accept|unpack|exists|fileno|shmget|system|unlink|printf|gmtime|msgctl|semctl|values|rindex|substr|splice|length|msgget|select|socket|return|caller|delete|alarm|ioctl|index|undef|lstat|times|srand|chown|fcntl|close|write|umask|rmdir|study|sleep|chomp|untie|print|utime|mkdir|atan2|split|crypt|flock|chmod|BEGIN|bless|chdir|semop|shift|reset|link|stat|chop|grep|fork|dump|join|open|tell|pipe|exit|glob|warn|each|bind|sort|pack|eval|push|keys|getc|kill|seek|sqrt|send|wait|rand|tied|read|time|exec|recv|eof|chr|int|ord|exp|pos|pop|sin|log|abs|oct|hex|tie|cos|vec|END|ref|map|die|uc|lc|do",r=this.createKeywordMapper({keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment.doc",regex:"^=(?:begin|item)\\b",next:"block_comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0x[0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"%#|\\$#|\\.\\.\\.|\\|\\|=|>>=|<<=|<=>|&&=|=>|!~|\\^=|&=|\\|=|\\.=|x=|%=|\\/=|\\*=|\\-=|\\+=|=~|\\*\\*|\\-\\-|\\.\\.|\\|\\||&&|\\+\\+|\\->|!=|==|>=|<=|>>|<<|,|=|\\?\\:|\\^|\\||x|%|\\/|\\*|<|&|\\\\|~|!|>|\\.|\\-|\\+|\\-C|\\-b|\\-S|\\-u|\\-t|\\-p|\\-l|\\-d|\\-f|\\-g|\\-s|\\-z|\\-k|\\-e|\\-O|\\-T|\\-B|\\-M|\\-A|\\-X|\\-W|\\-c|\\-R|\\-o|\\-x|\\-w|\\-r|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)"},{token:"comment",regex:"#.*$"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],block_comment:[{token:"comment.doc",regex:"^=cut\\b",next:"start"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),t.PerlHighlightRules=s}),ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"variable.language":"self|cls","constant.language":t,keyword:e},"identifier"),i="[uU]?",s="[rR]",o="[fF]",u="(?:[rR][fF]|[fF][rR])",a="(?:(?:[1-9]\\d*)|(?:0))",f="(?:0[oO]?[0-7]+)",l="(?:0[xX][\\dA-Fa-f]+)",c="(?:0[bB][01]+)",h="(?:"+a+"|"+f+"|"+l+"|"+c+")",p="(?:[eE][+-]?\\d+)",d="(?:\\.\\d+)",v="(?:\\d+)",m="(?:(?:"+v+"?"+d+")|(?:"+v+"\\.))",g="(?:(?:"+m+"|"+v+")"+p+")",y="(?:"+g+"|"+m+")",b="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"string",regex:s+'"{3}',next:"rawqqstring3"},{token:"string",regex:s+'"(?=.)',next:"rawqqstring"},{token:"string",regex:s+"'{3}",next:"rawqstring3"},{token:"string",regex:s+"'(?=.)",next:"rawqstring"},{token:"string",regex:o+'"{3}',next:"fqqstring3"},{token:"string",regex:o+'"(?=.)',next:"fqqstring"},{token:"string",regex:o+"'{3}",next:"fqstring3"},{token:"string",regex:o+"'(?=.)",next:"fqstring"},{token:"string",regex:u+'"{3}',next:"rfqqstring3"},{token:"string",regex:u+'"(?=.)',next:"rfqqstring"},{token:"string",regex:u+"'{3}",next:"rfqstring3"},{token:"string",regex:u+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'(.)*'"},{token:"string",regex:'"(.)*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+y+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:y},{token:"constant.numeric",regex:h+"[lL]\\b"},{token:"constant.numeric",regex:h+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/pgsql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/perl_highlight_rules","ace/mode/python_highlight_rules","ace/mode/json_highlight_rules","ace/mode/javascript_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=e("./perl_highlight_rules").PerlHighlightRules,a=e("./python_highlight_rules").PythonHighlightRules,f=e("./json_highlight_rules").JsonHighlightRules,l=e("./javascript_highlight_rules").JavaScriptHighlightRules,c=function(){var e="abort|absolute|abstime|access|aclitem|action|add|admin|after|aggregate|all|also|alter|always|analyse|analyze|and|any|anyarray|anyelement|anyenum|anynonarray|anyrange|array|as|asc|assertion|assignment|asymmetric|at|attribute|authorization|backward|before|begin|between|bigint|binary|bit|bool|boolean|both|box|bpchar|by|bytea|cache|called|cascade|cascaded|case|cast|catalog|chain|char|character|characteristics|check|checkpoint|cid|cidr|circle|class|close|cluster|coalesce|collate|collation|column|comment|comments|commit|committed|concurrently|configuration|connection|constraint|constraints|content|continue|conversion|copy|cost|create|cross|cstring|csv|current|current_catalog|current_date|current_role|current_schema|current_time|current_timestamp|current_user|cursor|cycle|data|database|date|daterange|day|deallocate|dec|decimal|declare|default|defaults|deferrable|deferred|definer|delete|delimiter|delimiters|desc|dictionary|disable|discard|distinct|do|document|domain|double|drop|each|else|enable|encoding|encrypted|end|enum|escape|event|event_trigger|except|exclude|excluding|exclusive|execute|exists|explain|extension|external|extract|false|family|fdw_handler|fetch|first|float|float4|float8|following|for|force|foreign|forward|freeze|from|full|function|functions|global|grant|granted|greatest|group|gtsvector|handler|having|header|hold|hour|identity|if|ilike|immediate|immutable|implicit|in|including|increment|index|indexes|inet|inherit|inherits|initially|inline|inner|inout|input|insensitive|insert|instead|int|int2|int2vector|int4|int4range|int8|int8range|integer|internal|intersect|interval|into|invoker|is|isnull|isolation|join|json|key|label|language|language_handler|large|last|lateral|lc_collate|lc_ctype|leading|leakproof|least|left|level|like|limit|line|listen|load|local|localtime|localtimestamp|location|lock|lseg|macaddr|mapping|match|materialized|maxvalue|minute|minvalue|mode|money|month|move|name|names|national|natural|nchar|next|no|none|not|nothing|notify|notnull|nowait|null|nullif|nulls|numeric|numrange|object|of|off|offset|oid|oids|oidvector|on|only|opaque|operator|option|options|or|order|out|outer|over|overlaps|overlay|owned|owner|parser|partial|partition|passing|password|path|pg_attribute|pg_auth_members|pg_authid|pg_class|pg_database|pg_node_tree|pg_proc|pg_type|placing|plans|point|polygon|position|preceding|precision|prepare|prepared|preserve|primary|prior|privileges|procedural|procedure|program|quote|range|read|real|reassign|recheck|record|recursive|ref|refcursor|references|refresh|regclass|regconfig|regdictionary|regoper|regoperator|regproc|regprocedure|regtype|reindex|relative|release|reltime|rename|repeatable|replace|replica|reset|restart|restrict|returning|returns|revoke|right|role|rollback|row|rows|rule|savepoint|schema|scroll|search|second|security|select|sequence|sequences|serializable|server|session|session_user|set|setof|share|show|similar|simple|smallint|smgr|snapshot|some|stable|standalone|start|statement|statistics|stdin|stdout|storage|strict|strip|substring|symmetric|sysid|system|table|tables|tablespace|temp|template|temporary|text|then|tid|time|timestamp|timestamptz|timetz|tinterval|to|trailing|transaction|treat|trigger|trim|true|truncate|trusted|tsquery|tsrange|tstzrange|tsvector|txid_snapshot|type|types|unbounded|uncommitted|unencrypted|union|unique|unknown|unlisten|unlogged|until|update|user|using|uuid|vacuum|valid|validate|validator|value|values|varbit|varchar|variadic|varying|verbose|version|view|void|volatile|when|where|whitespace|window|with|without|work|wrapper|write|xid|xml|xmlattributes|xmlconcat|xmlelement|xmlexists|xmlforest|xmlparse|xmlpi|xmlroot|xmlserialize|year|yes|zone",t="RI_FKey_cascade_del|RI_FKey_cascade_upd|RI_FKey_check_ins|RI_FKey_check_upd|RI_FKey_noaction_del|RI_FKey_noaction_upd|RI_FKey_restrict_del|RI_FKey_restrict_upd|RI_FKey_setdefault_del|RI_FKey_setdefault_upd|RI_FKey_setnull_del|RI_FKey_setnull_upd|abbrev|abs|abstime|abstimeeq|abstimege|abstimegt|abstimein|abstimele|abstimelt|abstimene|abstimeout|abstimerecv|abstimesend|aclcontains|acldefault|aclexplode|aclinsert|aclitemeq|aclitemin|aclitemout|aclremove|acos|age|any_in|any_out|anyarray_in|anyarray_out|anyarray_recv|anyarray_send|anyelement_in|anyelement_out|anyenum_in|anyenum_out|anynonarray_in|anynonarray_out|anyrange_in|anyrange_out|anytextcat|area|areajoinsel|areasel|array_agg|array_agg_finalfn|array_agg_transfn|array_append|array_cat|array_dims|array_eq|array_fill|array_ge|array_gt|array_in|array_larger|array_le|array_length|array_lower|array_lt|array_ndims|array_ne|array_out|array_prepend|array_recv|array_remove|array_replace|array_send|array_smaller|array_to_json|array_to_string|array_typanalyze|array_upper|arraycontained|arraycontains|arraycontjoinsel|arraycontsel|arrayoverlap|ascii|ascii_to_mic|ascii_to_utf8|asin|atan|atan2|avg|big5_to_euc_tw|big5_to_mic|big5_to_utf8|bit_and|bit_in|bit_length|bit_or|bit_out|bit_recv|bit_send|bitand|bitcat|bitcmp|biteq|bitge|bitgt|bitle|bitlt|bitne|bitnot|bitor|bitshiftleft|bitshiftright|bittypmodin|bittypmodout|bitxor|bool|bool_and|bool_or|booland_statefunc|booleq|boolge|boolgt|boolin|boolle|boollt|boolne|boolor_statefunc|boolout|boolrecv|boolsend|box|box_above|box_above_eq|box_add|box_below|box_below_eq|box_center|box_contain|box_contain_pt|box_contained|box_distance|box_div|box_eq|box_ge|box_gt|box_in|box_intersect|box_le|box_left|box_lt|box_mul|box_out|box_overabove|box_overbelow|box_overlap|box_overleft|box_overright|box_recv|box_right|box_same|box_send|box_sub|bpchar_larger|bpchar_pattern_ge|bpchar_pattern_gt|bpchar_pattern_le|bpchar_pattern_lt|bpchar_smaller|bpcharcmp|bpchareq|bpcharge|bpchargt|bpchariclike|bpcharicnlike|bpcharicregexeq|bpcharicregexne|bpcharin|bpcharle|bpcharlike|bpcharlt|bpcharne|bpcharnlike|bpcharout|bpcharrecv|bpcharregexeq|bpcharregexne|bpcharsend|bpchartypmodin|bpchartypmodout|broadcast|btabstimecmp|btarraycmp|btbeginscan|btboolcmp|btbpchar_pattern_cmp|btbuild|btbuildempty|btbulkdelete|btcanreturn|btcharcmp|btcostestimate|btendscan|btfloat48cmp|btfloat4cmp|btfloat4sortsupport|btfloat84cmp|btfloat8cmp|btfloat8sortsupport|btgetbitmap|btgettuple|btinsert|btint24cmp|btint28cmp|btint2cmp|btint2sortsupport|btint42cmp|btint48cmp|btint4cmp|btint4sortsupport|btint82cmp|btint84cmp|btint8cmp|btint8sortsupport|btmarkpos|btnamecmp|btnamesortsupport|btoidcmp|btoidsortsupport|btoidvectorcmp|btoptions|btrecordcmp|btreltimecmp|btrescan|btrestrpos|btrim|bttext_pattern_cmp|bttextcmp|bttidcmp|bttintervalcmp|btvacuumcleanup|bytea_string_agg_finalfn|bytea_string_agg_transfn|byteacat|byteacmp|byteaeq|byteage|byteagt|byteain|byteale|bytealike|bytealt|byteane|byteanlike|byteaout|bytearecv|byteasend|cash_cmp|cash_div_cash|cash_div_flt4|cash_div_flt8|cash_div_int2|cash_div_int4|cash_eq|cash_ge|cash_gt|cash_in|cash_le|cash_lt|cash_mi|cash_mul_flt4|cash_mul_flt8|cash_mul_int2|cash_mul_int4|cash_ne|cash_out|cash_pl|cash_recv|cash_send|cash_words|cashlarger|cashsmaller|cbrt|ceil|ceiling|center|char|char_length|character_length|chareq|charge|chargt|charin|charle|charlt|charne|charout|charrecv|charsend|chr|cideq|cidin|cidout|cidr|cidr_in|cidr_out|cidr_recv|cidr_send|cidrecv|cidsend|circle|circle_above|circle_add_pt|circle_below|circle_center|circle_contain|circle_contain_pt|circle_contained|circle_distance|circle_div_pt|circle_eq|circle_ge|circle_gt|circle_in|circle_le|circle_left|circle_lt|circle_mul_pt|circle_ne|circle_out|circle_overabove|circle_overbelow|circle_overlap|circle_overleft|circle_overright|circle_recv|circle_right|circle_same|circle_send|circle_sub_pt|clock_timestamp|close_lb|close_ls|close_lseg|close_pb|close_pl|close_ps|close_sb|close_sl|col_description|concat|concat_ws|contjoinsel|contsel|convert|convert_from|convert_to|corr|cos|cot|count|covar_pop|covar_samp|cstring_in|cstring_out|cstring_recv|cstring_send|cume_dist|current_database|current_query|current_schema|current_schemas|current_setting|current_user|currtid|currtid2|currval|cursor_to_xml|cursor_to_xmlschema|database_to_xml|database_to_xml_and_xmlschema|database_to_xmlschema|date|date_cmp|date_cmp_timestamp|date_cmp_timestamptz|date_eq|date_eq_timestamp|date_eq_timestamptz|date_ge|date_ge_timestamp|date_ge_timestamptz|date_gt|date_gt_timestamp|date_gt_timestamptz|date_in|date_larger|date_le|date_le_timestamp|date_le_timestamptz|date_lt|date_lt_timestamp|date_lt_timestamptz|date_mi|date_mi_interval|date_mii|date_ne|date_ne_timestamp|date_ne_timestamptz|date_out|date_part|date_pl_interval|date_pli|date_recv|date_send|date_smaller|date_sortsupport|date_trunc|daterange|daterange_canonical|daterange_subdiff|datetime_pl|datetimetz_pl|dcbrt|decode|degrees|dense_rank|dexp|diagonal|diameter|dispell_init|dispell_lexize|dist_cpoly|dist_lb|dist_pb|dist_pc|dist_pl|dist_ppath|dist_ps|dist_sb|dist_sl|div|dlog1|dlog10|domain_in|domain_recv|dpow|dround|dsimple_init|dsimple_lexize|dsnowball_init|dsnowball_lexize|dsqrt|dsynonym_init|dsynonym_lexize|dtrunc|elem_contained_by_range|encode|enum_cmp|enum_eq|enum_first|enum_ge|enum_gt|enum_in|enum_larger|enum_last|enum_le|enum_lt|enum_ne|enum_out|enum_range|enum_recv|enum_send|enum_smaller|eqjoinsel|eqsel|euc_cn_to_mic|euc_cn_to_utf8|euc_jis_2004_to_shift_jis_2004|euc_jis_2004_to_utf8|euc_jp_to_mic|euc_jp_to_sjis|euc_jp_to_utf8|euc_kr_to_mic|euc_kr_to_utf8|euc_tw_to_big5|euc_tw_to_mic|euc_tw_to_utf8|event_trigger_in|event_trigger_out|every|exp|factorial|family|fdw_handler_in|fdw_handler_out|first_value|float4|float48div|float48eq|float48ge|float48gt|float48le|float48lt|float48mi|float48mul|float48ne|float48pl|float4_accum|float4abs|float4div|float4eq|float4ge|float4gt|float4in|float4larger|float4le|float4lt|float4mi|float4mul|float4ne|float4out|float4pl|float4recv|float4send|float4smaller|float4um|float4up|float8|float84div|float84eq|float84ge|float84gt|float84le|float84lt|float84mi|float84mul|float84ne|float84pl|float8_accum|float8_avg|float8_corr|float8_covar_pop|float8_covar_samp|float8_regr_accum|float8_regr_avgx|float8_regr_avgy|float8_regr_intercept|float8_regr_r2|float8_regr_slope|float8_regr_sxx|float8_regr_sxy|float8_regr_syy|float8_stddev_pop|float8_stddev_samp|float8_var_pop|float8_var_samp|float8abs|float8div|float8eq|float8ge|float8gt|float8in|float8larger|float8le|float8lt|float8mi|float8mul|float8ne|float8out|float8pl|float8recv|float8send|float8smaller|float8um|float8up|floor|flt4_mul_cash|flt8_mul_cash|fmgr_c_validator|fmgr_internal_validator|fmgr_sql_validator|format|format_type|gb18030_to_utf8|gbk_to_utf8|generate_series|generate_subscripts|get_bit|get_byte|get_current_ts_config|getdatabaseencoding|getpgusername|gin_cmp_prefix|gin_cmp_tslexeme|gin_extract_tsquery|gin_extract_tsvector|gin_tsquery_consistent|ginarrayconsistent|ginarrayextract|ginbeginscan|ginbuild|ginbuildempty|ginbulkdelete|gincostestimate|ginendscan|gingetbitmap|gininsert|ginmarkpos|ginoptions|ginqueryarrayextract|ginrescan|ginrestrpos|ginvacuumcleanup|gist_box_compress|gist_box_consistent|gist_box_decompress|gist_box_penalty|gist_box_picksplit|gist_box_same|gist_box_union|gist_circle_compress|gist_circle_consistent|gist_point_compress|gist_point_consistent|gist_point_distance|gist_poly_compress|gist_poly_consistent|gistbeginscan|gistbuild|gistbuildempty|gistbulkdelete|gistcostestimate|gistendscan|gistgetbitmap|gistgettuple|gistinsert|gistmarkpos|gistoptions|gistrescan|gistrestrpos|gistvacuumcleanup|gtsquery_compress|gtsquery_consistent|gtsquery_decompress|gtsquery_penalty|gtsquery_picksplit|gtsquery_same|gtsquery_union|gtsvector_compress|gtsvector_consistent|gtsvector_decompress|gtsvector_penalty|gtsvector_picksplit|gtsvector_same|gtsvector_union|gtsvectorin|gtsvectorout|has_any_column_privilege|has_column_privilege|has_database_privilege|has_foreign_data_wrapper_privilege|has_function_privilege|has_language_privilege|has_schema_privilege|has_sequence_privilege|has_server_privilege|has_table_privilege|has_tablespace_privilege|has_type_privilege|hash_aclitem|hash_array|hash_numeric|hash_range|hashbeginscan|hashbpchar|hashbuild|hashbuildempty|hashbulkdelete|hashchar|hashcostestimate|hashendscan|hashenum|hashfloat4|hashfloat8|hashgetbitmap|hashgettuple|hashinet|hashinsert|hashint2|hashint2vector|hashint4|hashint8|hashmacaddr|hashmarkpos|hashname|hashoid|hashoidvector|hashoptions|hashrescan|hashrestrpos|hashtext|hashvacuumcleanup|hashvarlena|height|host|hostmask|iclikejoinsel|iclikesel|icnlikejoinsel|icnlikesel|icregexeqjoinsel|icregexeqsel|icregexnejoinsel|icregexnesel|inet_client_addr|inet_client_port|inet_in|inet_out|inet_recv|inet_send|inet_server_addr|inet_server_port|inetand|inetmi|inetmi_int8|inetnot|inetor|inetpl|initcap|int2|int24div|int24eq|int24ge|int24gt|int24le|int24lt|int24mi|int24mul|int24ne|int24pl|int28div|int28eq|int28ge|int28gt|int28le|int28lt|int28mi|int28mul|int28ne|int28pl|int2_accum|int2_avg_accum|int2_mul_cash|int2_sum|int2abs|int2and|int2div|int2eq|int2ge|int2gt|int2in|int2larger|int2le|int2lt|int2mi|int2mod|int2mul|int2ne|int2not|int2or|int2out|int2pl|int2recv|int2send|int2shl|int2shr|int2smaller|int2um|int2up|int2vectoreq|int2vectorin|int2vectorout|int2vectorrecv|int2vectorsend|int2xor|int4|int42div|int42eq|int42ge|int42gt|int42le|int42lt|int42mi|int42mul|int42ne|int42pl|int48div|int48eq|int48ge|int48gt|int48le|int48lt|int48mi|int48mul|int48ne|int48pl|int4_accum|int4_avg_accum|int4_mul_cash|int4_sum|int4abs|int4and|int4div|int4eq|int4ge|int4gt|int4in|int4inc|int4larger|int4le|int4lt|int4mi|int4mod|int4mul|int4ne|int4not|int4or|int4out|int4pl|int4range|int4range_canonical|int4range_subdiff|int4recv|int4send|int4shl|int4shr|int4smaller|int4um|int4up|int4xor|int8|int82div|int82eq|int82ge|int82gt|int82le|int82lt|int82mi|int82mul|int82ne|int82pl|int84div|int84eq|int84ge|int84gt|int84le|int84lt|int84mi|int84mul|int84ne|int84pl|int8_accum|int8_avg|int8_avg_accum|int8_sum|int8abs|int8and|int8div|int8eq|int8ge|int8gt|int8in|int8inc|int8inc_any|int8inc_float8_float8|int8larger|int8le|int8lt|int8mi|int8mod|int8mul|int8ne|int8not|int8or|int8out|int8pl|int8pl_inet|int8range|int8range_canonical|int8range_subdiff|int8recv|int8send|int8shl|int8shr|int8smaller|int8um|int8up|int8xor|integer_pl_date|inter_lb|inter_sb|inter_sl|internal_in|internal_out|interval_accum|interval_avg|interval_cmp|interval_div|interval_eq|interval_ge|interval_gt|interval_hash|interval_in|interval_larger|interval_le|interval_lt|interval_mi|interval_mul|interval_ne|interval_out|interval_pl|interval_pl_date|interval_pl_time|interval_pl_timestamp|interval_pl_timestamptz|interval_pl_timetz|interval_recv|interval_send|interval_smaller|interval_transform|interval_um|intervaltypmodin|intervaltypmodout|intinterval|isclosed|isempty|isfinite|ishorizontal|iso8859_1_to_utf8|iso8859_to_utf8|iso_to_koi8r|iso_to_mic|iso_to_win1251|iso_to_win866|isopen|isparallel|isperp|isvertical|johab_to_utf8|json_agg|json_agg_finalfn|json_agg_transfn|json_array_element|json_array_element_text|json_array_elements|json_array_length|json_each|json_each_text|json_extract_path|json_extract_path_op|json_extract_path_text|json_extract_path_text_op|json_in|json_object_field|json_object_field_text|json_object_keys|json_out|json_populate_record|json_populate_recordset|json_recv|json_send|justify_days|justify_hours|justify_interval|koi8r_to_iso|koi8r_to_mic|koi8r_to_utf8|koi8r_to_win1251|koi8r_to_win866|koi8u_to_utf8|lag|language_handler_in|language_handler_out|last_value|lastval|latin1_to_mic|latin2_to_mic|latin2_to_win1250|latin3_to_mic|latin4_to_mic|lead|left|length|like|like_escape|likejoinsel|likesel|line|line_distance|line_eq|line_horizontal|line_in|line_interpt|line_intersect|line_out|line_parallel|line_perp|line_recv|line_send|line_vertical|ln|lo_close|lo_creat|lo_create|lo_export|lo_import|lo_lseek|lo_lseek64|lo_open|lo_tell|lo_tell64|lo_truncate|lo_truncate64|lo_unlink|log|loread|lower|lower_inc|lower_inf|lowrite|lpad|lseg|lseg_center|lseg_distance|lseg_eq|lseg_ge|lseg_gt|lseg_horizontal|lseg_in|lseg_interpt|lseg_intersect|lseg_le|lseg_length|lseg_lt|lseg_ne|lseg_out|lseg_parallel|lseg_perp|lseg_recv|lseg_send|lseg_vertical|ltrim|macaddr_and|macaddr_cmp|macaddr_eq|macaddr_ge|macaddr_gt|macaddr_in|macaddr_le|macaddr_lt|macaddr_ne|macaddr_not|macaddr_or|macaddr_out|macaddr_recv|macaddr_send|makeaclitem|masklen|max|md5|mic_to_ascii|mic_to_big5|mic_to_euc_cn|mic_to_euc_jp|mic_to_euc_kr|mic_to_euc_tw|mic_to_iso|mic_to_koi8r|mic_to_latin1|mic_to_latin2|mic_to_latin3|mic_to_latin4|mic_to_sjis|mic_to_win1250|mic_to_win1251|mic_to_win866|min|mktinterval|mod|money|mul_d_interval|name|nameeq|namege|namegt|nameiclike|nameicnlike|nameicregexeq|nameicregexne|namein|namele|namelike|namelt|namene|namenlike|nameout|namerecv|nameregexeq|nameregexne|namesend|neqjoinsel|neqsel|netmask|network|network_cmp|network_eq|network_ge|network_gt|network_le|network_lt|network_ne|network_sub|network_subeq|network_sup|network_supeq|nextval|nlikejoinsel|nlikesel|notlike|now|npoints|nth_value|ntile|numeric_abs|numeric_accum|numeric_add|numeric_avg|numeric_avg_accum|numeric_cmp|numeric_div|numeric_div_trunc|numeric_eq|numeric_exp|numeric_fac|numeric_ge|numeric_gt|numeric_in|numeric_inc|numeric_larger|numeric_le|numeric_ln|numeric_log|numeric_lt|numeric_mod|numeric_mul|numeric_ne|numeric_out|numeric_power|numeric_recv|numeric_send|numeric_smaller|numeric_sqrt|numeric_stddev_pop|numeric_stddev_samp|numeric_sub|numeric_transform|numeric_uminus|numeric_uplus|numeric_var_pop|numeric_var_samp|numerictypmodin|numerictypmodout|numnode|numrange|numrange_subdiff|obj_description|octet_length|oid|oideq|oidge|oidgt|oidin|oidlarger|oidle|oidlt|oidne|oidout|oidrecv|oidsend|oidsmaller|oidvectoreq|oidvectorge|oidvectorgt|oidvectorin|oidvectorle|oidvectorlt|oidvectorne|oidvectorout|oidvectorrecv|oidvectorsend|oidvectortypes|on_pb|on_pl|on_ppath|on_ps|on_sb|on_sl|opaque_in|opaque_out|overlaps|overlay|path|path_add|path_add_pt|path_center|path_contain_pt|path_distance|path_div_pt|path_in|path_inter|path_length|path_mul_pt|path_n_eq|path_n_ge|path_n_gt|path_n_le|path_n_lt|path_npoints|path_out|path_recv|path_send|path_sub_pt|pclose|percent_rank|pg_advisory_lock|pg_advisory_lock_shared|pg_advisory_unlock|pg_advisory_unlock_all|pg_advisory_unlock_shared|pg_advisory_xact_lock|pg_advisory_xact_lock_shared|pg_available_extension_versions|pg_available_extensions|pg_backend_pid|pg_backup_start_time|pg_cancel_backend|pg_char_to_encoding|pg_client_encoding|pg_collation_for|pg_collation_is_visible|pg_column_is_updatable|pg_column_size|pg_conf_load_time|pg_conversion_is_visible|pg_create_restore_point|pg_current_xlog_insert_location|pg_current_xlog_location|pg_cursor|pg_database_size|pg_describe_object|pg_encoding_max_length|pg_encoding_to_char|pg_event_trigger_dropped_objects|pg_export_snapshot|pg_extension_config_dump|pg_extension_update_paths|pg_function_is_visible|pg_get_constraintdef|pg_get_expr|pg_get_function_arguments|pg_get_function_identity_arguments|pg_get_function_result|pg_get_functiondef|pg_get_indexdef|pg_get_keywords|pg_get_multixact_members|pg_get_ruledef|pg_get_serial_sequence|pg_get_triggerdef|pg_get_userbyid|pg_get_viewdef|pg_has_role|pg_identify_object|pg_indexes_size|pg_is_in_backup|pg_is_in_recovery|pg_is_other_temp_schema|pg_is_xlog_replay_paused|pg_last_xact_replay_timestamp|pg_last_xlog_receive_location|pg_last_xlog_replay_location|pg_listening_channels|pg_lock_status|pg_ls_dir|pg_my_temp_schema|pg_node_tree_in|pg_node_tree_out|pg_node_tree_recv|pg_node_tree_send|pg_notify|pg_opclass_is_visible|pg_operator_is_visible|pg_opfamily_is_visible|pg_options_to_table|pg_postmaster_start_time|pg_prepared_statement|pg_prepared_xact|pg_read_binary_file|pg_read_file|pg_relation_filenode|pg_relation_filepath|pg_relation_is_updatable|pg_relation_size|pg_reload_conf|pg_rotate_logfile|pg_sequence_parameters|pg_show_all_settings|pg_size_pretty|pg_sleep|pg_start_backup|pg_stat_clear_snapshot|pg_stat_file|pg_stat_get_activity|pg_stat_get_analyze_count|pg_stat_get_autoanalyze_count|pg_stat_get_autovacuum_count|pg_stat_get_backend_activity|pg_stat_get_backend_activity_start|pg_stat_get_backend_client_addr|pg_stat_get_backend_client_port|pg_stat_get_backend_dbid|pg_stat_get_backend_idset|pg_stat_get_backend_pid|pg_stat_get_backend_start|pg_stat_get_backend_userid|pg_stat_get_backend_waiting|pg_stat_get_backend_xact_start|pg_stat_get_bgwriter_buf_written_checkpoints|pg_stat_get_bgwriter_buf_written_clean|pg_stat_get_bgwriter_maxwritten_clean|pg_stat_get_bgwriter_requested_checkpoints|pg_stat_get_bgwriter_stat_reset_time|pg_stat_get_bgwriter_timed_checkpoints|pg_stat_get_blocks_fetched|pg_stat_get_blocks_hit|pg_stat_get_buf_alloc|pg_stat_get_buf_fsync_backend|pg_stat_get_buf_written_backend|pg_stat_get_checkpoint_sync_time|pg_stat_get_checkpoint_write_time|pg_stat_get_db_blk_read_time|pg_stat_get_db_blk_write_time|pg_stat_get_db_blocks_fetched|pg_stat_get_db_blocks_hit|pg_stat_get_db_conflict_all|pg_stat_get_db_conflict_bufferpin|pg_stat_get_db_conflict_lock|pg_stat_get_db_conflict_snapshot|pg_stat_get_db_conflict_startup_deadlock|pg_stat_get_db_conflict_tablespace|pg_stat_get_db_deadlocks|pg_stat_get_db_numbackends|pg_stat_get_db_stat_reset_time|pg_stat_get_db_temp_bytes|pg_stat_get_db_temp_files|pg_stat_get_db_tuples_deleted|pg_stat_get_db_tuples_fetched|pg_stat_get_db_tuples_inserted|pg_stat_get_db_tuples_returned|pg_stat_get_db_tuples_updated|pg_stat_get_db_xact_commit|pg_stat_get_db_xact_rollback|pg_stat_get_dead_tuples|pg_stat_get_function_calls|pg_stat_get_function_self_time|pg_stat_get_function_total_time|pg_stat_get_last_analyze_time|pg_stat_get_last_autoanalyze_time|pg_stat_get_last_autovacuum_time|pg_stat_get_last_vacuum_time|pg_stat_get_live_tuples|pg_stat_get_numscans|pg_stat_get_tuples_deleted|pg_stat_get_tuples_fetched|pg_stat_get_tuples_hot_updated|pg_stat_get_tuples_inserted|pg_stat_get_tuples_returned|pg_stat_get_tuples_updated|pg_stat_get_vacuum_count|pg_stat_get_wal_senders|pg_stat_get_xact_blocks_fetched|pg_stat_get_xact_blocks_hit|pg_stat_get_xact_function_calls|pg_stat_get_xact_function_self_time|pg_stat_get_xact_function_total_time|pg_stat_get_xact_numscans|pg_stat_get_xact_tuples_deleted|pg_stat_get_xact_tuples_fetched|pg_stat_get_xact_tuples_hot_updated|pg_stat_get_xact_tuples_inserted|pg_stat_get_xact_tuples_returned|pg_stat_get_xact_tuples_updated|pg_stat_reset|pg_stat_reset_shared|pg_stat_reset_single_function_counters|pg_stat_reset_single_table_counters|pg_stop_backup|pg_switch_xlog|pg_table_is_visible|pg_table_size|pg_tablespace_databases|pg_tablespace_location|pg_tablespace_size|pg_terminate_backend|pg_timezone_abbrevs|pg_timezone_names|pg_total_relation_size|pg_trigger_depth|pg_try_advisory_lock|pg_try_advisory_lock_shared|pg_try_advisory_xact_lock|pg_try_advisory_xact_lock_shared|pg_ts_config_is_visible|pg_ts_dict_is_visible|pg_ts_parser_is_visible|pg_ts_template_is_visible|pg_type_is_visible|pg_typeof|pg_xlog_location_diff|pg_xlog_replay_pause|pg_xlog_replay_resume|pg_xlogfile_name|pg_xlogfile_name_offset|pi|plainto_tsquery|plpgsql_call_handler|plpgsql_inline_handler|plpgsql_validator|point|point_above|point_add|point_below|point_distance|point_div|point_eq|point_horiz|point_in|point_left|point_mul|point_ne|point_out|point_recv|point_right|point_send|point_sub|point_vert|poly_above|poly_below|poly_center|poly_contain|poly_contain_pt|poly_contained|poly_distance|poly_in|poly_left|poly_npoints|poly_out|poly_overabove|poly_overbelow|poly_overlap|poly_overleft|poly_overright|poly_recv|poly_right|poly_same|poly_send|polygon|popen|position|positionjoinsel|positionsel|postgresql_fdw_validator|pow|power|prsd_end|prsd_headline|prsd_lextype|prsd_nexttoken|prsd_start|pt_contained_circle|pt_contained_poly|query_to_xml|query_to_xml_and_xmlschema|query_to_xmlschema|querytree|quote_ident|quote_literal|quote_nullable|radians|radius|random|range_adjacent|range_after|range_before|range_cmp|range_contained_by|range_contains|range_contains_elem|range_eq|range_ge|range_gist_compress|range_gist_consistent|range_gist_decompress|range_gist_penalty|range_gist_picksplit|range_gist_same|range_gist_union|range_gt|range_in|range_intersect|range_le|range_lt|range_minus|range_ne|range_out|range_overlaps|range_overleft|range_overright|range_recv|range_send|range_typanalyze|range_union|rangesel|rank|record_eq|record_ge|record_gt|record_in|record_le|record_lt|record_ne|record_out|record_recv|record_send|regclass|regclassin|regclassout|regclassrecv|regclasssend|regconfigin|regconfigout|regconfigrecv|regconfigsend|regdictionaryin|regdictionaryout|regdictionaryrecv|regdictionarysend|regexeqjoinsel|regexeqsel|regexnejoinsel|regexnesel|regexp_matches|regexp_replace|regexp_split_to_array|regexp_split_to_table|regoperatorin|regoperatorout|regoperatorrecv|regoperatorsend|regoperin|regoperout|regoperrecv|regopersend|regprocedurein|regprocedureout|regprocedurerecv|regproceduresend|regprocin|regprocout|regprocrecv|regprocsend|regr_avgx|regr_avgy|regr_count|regr_intercept|regr_r2|regr_slope|regr_sxx|regr_sxy|regr_syy|regtypein|regtypeout|regtyperecv|regtypesend|reltime|reltimeeq|reltimege|reltimegt|reltimein|reltimele|reltimelt|reltimene|reltimeout|reltimerecv|reltimesend|repeat|replace|reverse|right|round|row_number|row_to_json|rpad|rtrim|scalargtjoinsel|scalargtsel|scalarltjoinsel|scalarltsel|schema_to_xml|schema_to_xml_and_xmlschema|schema_to_xmlschema|session_user|set_bit|set_byte|set_config|set_masklen|setseed|setval|setweight|shell_in|shell_out|shift_jis_2004_to_euc_jis_2004|shift_jis_2004_to_utf8|shobj_description|sign|similar_escape|sin|sjis_to_euc_jp|sjis_to_mic|sjis_to_utf8|slope|smgreq|smgrin|smgrne|smgrout|spg_kd_choose|spg_kd_config|spg_kd_inner_consistent|spg_kd_picksplit|spg_quad_choose|spg_quad_config|spg_quad_inner_consistent|spg_quad_leaf_consistent|spg_quad_picksplit|spg_range_quad_choose|spg_range_quad_config|spg_range_quad_inner_consistent|spg_range_quad_leaf_consistent|spg_range_quad_picksplit|spg_text_choose|spg_text_config|spg_text_inner_consistent|spg_text_leaf_consistent|spg_text_picksplit|spgbeginscan|spgbuild|spgbuildempty|spgbulkdelete|spgcanreturn|spgcostestimate|spgendscan|spggetbitmap|spggettuple|spginsert|spgmarkpos|spgoptions|spgrescan|spgrestrpos|spgvacuumcleanup|split_part|sqrt|statement_timestamp|stddev|stddev_pop|stddev_samp|string_agg|string_agg_finalfn|string_agg_transfn|string_to_array|strip|strpos|substr|substring|sum|suppress_redundant_updates_trigger|table_to_xml|table_to_xml_and_xmlschema|table_to_xmlschema|tan|text|text_ge|text_gt|text_larger|text_le|text_lt|text_pattern_ge|text_pattern_gt|text_pattern_le|text_pattern_lt|text_smaller|textanycat|textcat|texteq|texticlike|texticnlike|texticregexeq|texticregexne|textin|textlen|textlike|textne|textnlike|textout|textrecv|textregexeq|textregexne|textsend|thesaurus_init|thesaurus_lexize|tideq|tidge|tidgt|tidin|tidlarger|tidle|tidlt|tidne|tidout|tidrecv|tidsend|tidsmaller|time_cmp|time_eq|time_ge|time_gt|time_hash|time_in|time_larger|time_le|time_lt|time_mi_interval|time_mi_time|time_ne|time_out|time_pl_interval|time_recv|time_send|time_smaller|time_transform|timedate_pl|timemi|timenow|timeofday|timepl|timestamp_cmp|timestamp_cmp_date|timestamp_cmp_timestamptz|timestamp_eq|timestamp_eq_date|timestamp_eq_timestamptz|timestamp_ge|timestamp_ge_date|timestamp_ge_timestamptz|timestamp_gt|timestamp_gt_date|timestamp_gt_timestamptz|timestamp_hash|timestamp_in|timestamp_larger|timestamp_le|timestamp_le_date|timestamp_le_timestamptz|timestamp_lt|timestamp_lt_date|timestamp_lt_timestamptz|timestamp_mi|timestamp_mi_interval|timestamp_ne|timestamp_ne_date|timestamp_ne_timestamptz|timestamp_out|timestamp_pl_interval|timestamp_recv|timestamp_send|timestamp_smaller|timestamp_sortsupport|timestamp_transform|timestamptypmodin|timestamptypmodout|timestamptz_cmp|timestamptz_cmp_date|timestamptz_cmp_timestamp|timestamptz_eq|timestamptz_eq_date|timestamptz_eq_timestamp|timestamptz_ge|timestamptz_ge_date|timestamptz_ge_timestamp|timestamptz_gt|timestamptz_gt_date|timestamptz_gt_timestamp|timestamptz_in|timestamptz_larger|timestamptz_le|timestamptz_le_date|timestamptz_le_timestamp|timestamptz_lt|timestamptz_lt_date|timestamptz_lt_timestamp|timestamptz_mi|timestamptz_mi_interval|timestamptz_ne|timestamptz_ne_date|timestamptz_ne_timestamp|timestamptz_out|timestamptz_pl_interval|timestamptz_recv|timestamptz_send|timestamptz_smaller|timestamptztypmodin|timestamptztypmodout|timetypmodin|timetypmodout|timetz_cmp|timetz_eq|timetz_ge|timetz_gt|timetz_hash|timetz_in|timetz_larger|timetz_le|timetz_lt|timetz_mi_interval|timetz_ne|timetz_out|timetz_pl_interval|timetz_recv|timetz_send|timetz_smaller|timetzdate_pl|timetztypmodin|timetztypmodout|timezone|tinterval|tintervalct|tintervalend|tintervaleq|tintervalge|tintervalgt|tintervalin|tintervalle|tintervalleneq|tintervallenge|tintervallengt|tintervallenle|tintervallenlt|tintervallenne|tintervallt|tintervalne|tintervalout|tintervalov|tintervalrecv|tintervalrel|tintervalsame|tintervalsend|tintervalstart|to_ascii|to_char|to_date|to_hex|to_json|to_number|to_timestamp|to_tsquery|to_tsvector|transaction_timestamp|translate|trigger_in|trigger_out|trunc|ts_debug|ts_headline|ts_lexize|ts_match_qv|ts_match_tq|ts_match_tt|ts_match_vq|ts_parse|ts_rank|ts_rank_cd|ts_rewrite|ts_stat|ts_token_type|ts_typanalyze|tsmatchjoinsel|tsmatchsel|tsq_mcontained|tsq_mcontains|tsquery_and|tsquery_cmp|tsquery_eq|tsquery_ge|tsquery_gt|tsquery_le|tsquery_lt|tsquery_ne|tsquery_not|tsquery_or|tsqueryin|tsqueryout|tsqueryrecv|tsquerysend|tsrange|tsrange_subdiff|tstzrange|tstzrange_subdiff|tsvector_cmp|tsvector_concat|tsvector_eq|tsvector_ge|tsvector_gt|tsvector_le|tsvector_lt|tsvector_ne|tsvector_update_trigger|tsvector_update_trigger_column|tsvectorin|tsvectorout|tsvectorrecv|tsvectorsend|txid_current|txid_current_snapshot|txid_snapshot_in|txid_snapshot_out|txid_snapshot_recv|txid_snapshot_send|txid_snapshot_xip|txid_snapshot_xmax|txid_snapshot_xmin|txid_visible_in_snapshot|uhc_to_utf8|unique_key_recheck|unknownin|unknownout|unknownrecv|unknownsend|unnest|upper|upper_inc|upper_inf|utf8_to_ascii|utf8_to_big5|utf8_to_euc_cn|utf8_to_euc_jis_2004|utf8_to_euc_jp|utf8_to_euc_kr|utf8_to_euc_tw|utf8_to_gb18030|utf8_to_gbk|utf8_to_iso8859|utf8_to_iso8859_1|utf8_to_johab|utf8_to_koi8r|utf8_to_koi8u|utf8_to_shift_jis_2004|utf8_to_sjis|utf8_to_uhc|utf8_to_win|uuid_cmp|uuid_eq|uuid_ge|uuid_gt|uuid_hash|uuid_in|uuid_le|uuid_lt|uuid_ne|uuid_out|uuid_recv|uuid_send|var_pop|var_samp|varbit_in|varbit_out|varbit_recv|varbit_send|varbit_transform|varbitcmp|varbiteq|varbitge|varbitgt|varbitle|varbitlt|varbitne|varbittypmodin|varbittypmodout|varchar_transform|varcharin|varcharout|varcharrecv|varcharsend|varchartypmodin|varchartypmodout|variance|version|void_in|void_out|void_recv|void_send|width|width_bucket|win1250_to_latin2|win1250_to_mic|win1251_to_iso|win1251_to_koi8r|win1251_to_mic|win1251_to_win866|win866_to_iso|win866_to_koi8r|win866_to_mic|win866_to_win1251|win_to_utf8|xideq|xideqint4|xidin|xidout|xidrecv|xidsend|xml|xml_in|xml_is_well_formed|xml_is_well_formed_content|xml_is_well_formed_document|xml_out|xml_recv|xml_send|xmlagg|xmlcomment|xmlconcat2|xmlexists|xmlvalidate|xpath|xpath_exists",n=this.createKeywordMapper({"support.function":t,keyword:e},"identifier",!0),r=[{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"variable.language",regex:'".*?"'},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:n,regex:"[a-zA-Z_][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|!!|!~|!~\\*|!~~|!~~\\*|#|##|#<|#<=|#<>|#=|#>|#>=|%|\\&|\\&\\&|\\&<|\\&<\\||\\&>|\\*|\\+|\\-|/|<|<#>|<\\->|<<|<<=|<<\\||<=|<>|<\\?>|<@|<\\^|=|>|>=|>>|>>=|>\\^|\\?#|\\?\\-|\\?\\-\\||\\?\\||\\?\\|\\||@|@\\-@|@>|@@|@@@|\\^|\\||\\|\\&>|\\|/|\\|>>|\\|\\||\\|\\|/|~|~\\*|~<=~|~<~|~=|~>=~|~>~|~~|~~\\*"},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}];this.$rules={start:[{token:"comment",regex:"--.*$"},s.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"keyword.statementBegin",regex:"[a-zA-Z]+",next:"statement"},{token:"support.buildin",regex:"^\\\\[\\S]+.*$"}],statement:[{token:"comment",regex:"--.*$"},{token:"comment",regex:"\\/\\*",next:"commentStatement"},{token:"statementEnd",regex:";",next:"start"},{token:"string",regex:"\\$perl\\$",next:"perl-start"},{token:"string",regex:"\\$python\\$",next:"python-start"},{token:"string",regex:"\\$json\\$",next:"json-start"},{token:"string",regex:"\\$(js|javascript)\\$",next:"javascript-start"},{token:"string",regex:"\\$[\\w_0-9]*\\$$",next:"dollarSql"},{token:"string",regex:"\\$[\\w_0-9]*\\$",next:"dollarStatementString"}].concat(r),dollarSql:[{token:"comment",regex:"--.*$"},{token:"comment",regex:"\\/\\*",next:"commentDollarSql"},{token:"string",regex:"^\\$[\\w_0-9]*\\$",next:"statement"},{token:"string",regex:"\\$[\\w_0-9]*\\$",next:"dollarSqlString"}].concat(r),comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],commentStatement:[{token:"comment",regex:"\\*\\/",next:"statement"},{defaultToken:"comment"}],commentDollarSql:[{token:"comment",regex:"\\*\\/",next:"dollarSql"},{defaultToken:"comment"}],dollarStatementString:[{token:"string",regex:".*?\\$[\\w_0-9]*\\$",next:"statement"},{token:"string",regex:".+"}],dollarSqlString:[{token:"string",regex:".*?\\$[\\w_0-9]*\\$",next:"dollarSql"},{token:"string",regex:".+"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.embedRules(u,"perl-",[{token:"string",regex:"\\$perl\\$",next:"statement"}]),this.embedRules(a,"python-",[{token:"string",regex:"\\$python\\$",next:"statement"}]),this.embedRules(f,"json-",[{token:"string",regex:"\\$json\\$",next:"statement"}]),this.embedRules(l,"javascript-",[{token:"string",regex:"\\$(js|javascript)\\$",next:"statement"}])};r.inherits(c,o),t.PgsqlHighlightRules=c}),ace.define("ace/mode/pgsql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pgsql_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("./pgsql_highlight_rules").PgsqlHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart="--",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){return e=="start"||e=="keyword.statementEnd"?"":this.$getIndent(t)},this.$id="ace/mode/pgsql"}.call(o.prototype),t.Mode=o}); (function() { + ace.require(["ace/mode/pgsql"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); +})(); diff --git a/static/js/ace.js b/static/js/ace.js new file mode 100644 index 0000000..d88c52e --- /dev/null +++ b/static/js/ace.js @@ -0,0 +1,16 @@ +(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(s.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(s.split(" Chrome/")[1])||undefined,t.isEdge=parseFloat(s.split(" Edge/")[1])||undefined,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isAndroid=s.indexOf("Android")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function o(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s=1.5:!0;if(typeof document!="undefined"){var s=document.createElement("div");t.HI_DPI&&s.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof s.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),s=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l++,i=function(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())};t.addListener(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;nDate.now()-50?!0:r=!1},cancel:function(){r=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=e("../clipboard"),a=i.isChrome<18,f=i.isIE,l=i.isChrome>63,c=400,h=e("../lib/keys"),p=h.KEY_MODS,d=i.isIOS,v=d?/\s/:/\n/,m=function(e,t){function z(){S=!0,n.blur(),n.focus(),S=!1}function X(e){e.keyCode==27&&n.value.lengthN&&x[s]=="\n")o=h.end;else if(rN&&x.slice(0,s).split("\n").length>2)o=h.down;else if(s>N&&x[s-1]==" ")o=h.right,u=p.option;else if(s>N||s==N&&N!=T&&r==s)o=h.right;r!==s&&(u|=p.shift);if(o){var a=t.onCommandKey({},u,o);if(!a&&t.commands){o=h.keyCodeToString(o);var f=t.commands.findKeyCommand(u,o);f&&t.execCommand(f)}T=r,N=s,L("")}};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=s.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var m=!1,g=!1,y=!1,b=!1,w="";i.isMobile||(n.style.fontSize="1px");var E=!1,S=!1,x="",T=0,N=0;try{var C=document.activeElement===n}catch(k){}r.addListener(n,"blur",function(e){if(S)return;t.onBlur(e),C=!1}),r.addListener(n,"focus",function(e){if(S)return;C=!0;if(i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(L):L()}),this.$focusScroll=!1,this.focus=function(){if(w||l||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=n.getBoundingClientRect().top!=0}catch(r){return}var i=[];if(t){var s=n.parentElement;while(s&&s.nodeType==1)i.push(s),s.setAttribute("ace_nocontext",!0),!s.parentElement&&s.getRootNode?s=s.getRootNode().host:s=s.parentElement}n.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return C},t.on("beforeEndOperation",function(){if(t.curOp&&t.curOp.command.name=="insertstring")return;y&&(x=n.value="",U()),L()});var L=d?function(e){if(!C||m&&!e||b)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=x=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(T!=i||N!=s)&&n.setSelectionRange(i,s),T=i,N=s}:function(){if(y||b)return;if(!C&&!_)return;y=!0;var e=t.selection,r=e.getRange(),i=e.cursor.row,s=r.start.column,o=r.end.column,u=t.session.getLine(i);if(r.start.row!=i){var a=t.session.getLine(i-1);s=r.start.rowi+1?f.length:o,o+=u.length+1,u=u+"\n"+f}u.length>c&&(s=x.length&&e.value===x&&x&&e.selectionEnd!==N},O=function(e){if(y)return;m?m=!1:A(n)&&(t.selectAll(),L())},M=null;this.setInputHandler=function(e){M=e},this.getInputHandler=function(){return M};var _=!1,D=function(e,r){_&&(_=!1);if(g)return L(),e&&t.onPaste(e),g=!1,"";var i=n.selectionStart,s=n.selectionEnd,o=T,u=x.length-N,a=e,f=e.length-i,l=e.length-s,c=0;while(o>0&&x[c]==e[c])c++,o--;a=a.slice(c),c=1;while(u>0&&x.length-c>T-1&&x[x.length-c]==e[e.length-c])c++,u--;f-=c-1,l-=c-1;var h=a.length-c+1;return h<0&&(o=-h,h=0),a=a.slice(0,h),!r&&f==a.length&&!o&&!u&&!l?"":(b=!0,a&&!o&&!u&&!f&&!l||E?t.onTextInput(a):t.onTextInput(a,{extendLeft:o,extendRight:u,restoreStart:f,restoreEnd:l}),b=!1,x=e,T=i,N=s,a)},P=function(e){if(y)return R();if(e&&e.inputType){if(e.inputType=="historyUndo")return t.execCommand("undo");if(e.inputType=="historyRedo")return t.execCommand("redo")}var r=n.value,i=D(r,!0);(r.length>c+100||v.test(i))&&L()},H=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||a)return;var i=f||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return H(e,t,!0)}},B=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);H(e,s)?(d&&(L(s),m=s,setTimeout(function(){m=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(m=!0,n.value=s,n.select(),setTimeout(function(){m=!1,L(),i?t.onCut():t.onCopy()}))},j=function(e){B(e,!0)},F=function(e){B(e,!1)},I=function(e){var s=H(e);if(u.pasteCancelled())return;typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(L),r.preventDefault(e)):(n.value="",g=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",O),r.addListener(n,"input",P),r.addListener(n,"cut",j),r.addListener(n,"copy",F),r.addListener(n,"paste",I),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:F(e);break;case 86:I(e);break;case 88:j(e)}});var q=function(e){if(y||!t.onCompositionStart||t.$readOnly)return;y={};if(E)return;setTimeout(R,0),t.on("mousedown",z);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,y.markerRange=r,y.selectionStart=T,t.onCompositionStart(y),y.useTextareaForIME?(n.value="",x="",T=0,N=0):(n.msGetInputContext&&(y.context=n.msGetInputContext()),n.getInputContext&&(y.context=n.getInputContext()))},R=function(){if(!y||!t.onCompositionUpdate||t.$readOnly)return;if(E)return z();if(y.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;D(e),y.markerRange&&(y.context&&(y.markerRange.start.column=y.selectionStart=y.context.compositionStartOffset),y.markerRange.end.column=y.markerRange.start.column+N-y.selectionStart)}},U=function(e){if(!t.onCompositionEnd||t.$readOnly)return;y=!1,t.onCompositionEnd(),t.off("mousedown",z),e&&P()},W=o.delayedCall(R,50).schedule.bind(null,null);r.addListener(n,"compositionstart",q),r.addListener(n,"compositionupdate",R),r.addListener(n,"keyup",X),r.addListener(n,"keydown",W),r.addListener(n,"compositionend",U),this.getElement=function(){return n},this.setCommandMode=function(e){E=e,n.readOnly=!1},this.setReadOnly=function(e){E||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){_=!0,L(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){w||(w=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(T+N)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){s.translate(n,e.clientX-l-2,Math.min(e.clientY-f-2,c))};h(e);if(e.type!="mousedown")return;t.renderer.$isMousePressed=!0,clearTimeout(V),i.isWin&&r.capture(t.container,h,$)},this.onContextMenuClose=$;var V,J=function(e){t.textInput.onContextMenu(e),$()};r.addListener(n,"mouseup",J),r.addListener(n,"mousedown",function(e){e.preventDefault(),$()}),r.addListener(t.renderer.scroller,"contextmenu",J),r.addListener(n,"contextmenu",J),d&&K(e,t,n)};t.TextInput=m}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowedt.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.moveCursorToPosition(e),S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.$resetCursorStyle(),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent,i=e("../lib/dom");t.addTouchListeners=function(e,t){function y(){var e=window.navigator&&window.navigator.clipboard,r=!1,s=function(){var n=t.getCopyText(),s=t.session.getUndoManager().hasUndo();g.replaceChild(i.buildDom(r?["span",!n&&["span",{"class":"ace_mobile-button",action:"selectall"},"Select All"],n&&["span",{"class":"ace_mobile-button",action:"copy"},"Copy"],n&&["span",{"class":"ace_mobile-button",action:"cut"},"Cut"],e&&["span",{"class":"ace_mobile-button",action:"paste"},"Paste"],s&&["span",{"class":"ace_mobile-button",action:"undo"},"Undo"],["span",{"class":"ace_mobile-button",action:"find"},"Find"],["span",{"class":"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),g.firstChild)},o=function(n){var i=n.target.getAttribute("action");if(i=="more"||!r)return r=!r,s();if(i=="paste")e.readText().then(function(e){t.execCommand(i,e)});else if(i){if(i=="cut"||i=="copy")e?e.writeText(t.getCopyText()):document.execCommand("copy");t.execCommand(i)}g.firstChild.style.display="none",r=!1,i!="openCommandPallete"&&t.focus()};g=i.buildDom(["div",{"class":"ace_mobile-menu",ontouchstart:function(e){n="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),o(e)},onclick:o},["span"],["span",{"class":"ace_mobile-button",action:"more"},"..."]],t.container)}function b(){g||y();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.container.getBoundingClientRect();g.style.top=n.pageY-r.top-3+"px",g.style.right="10px",g.style.display="",g.firstChild.style.display="none",t.on("input",w)}function w(e){g&&(g.style.display="none"),t.off("input",w)}function E(){f=null,clearTimeout(f);var e=t.selection.getRange(),r=e.contains(h.row,h.column);if(e.isEmpty()||!r)t.selection.moveToPosition(h),t.selection.selectWord();n="wait",b()}function S(){f=null,clearTimeout(f),t.selection.moveToPosition(h);var e=p>=2?t.selection.getLineRange(h.row):t.session.getBracketRange(h);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n="wait"}function x(){c+=60,l=setInterval(function(){c--<=0&&(clearInterval(l),l=null),Math.abs(d)<.01&&(d=0),Math.abs(v)<.01&&(v=0),c<20&&(d=.9*d),c<20&&(v=.9*v);var e=t.session.getScrollTop();t.renderer.scrollBy(10*d,10*v),e==t.session.getScrollTop()&&(c=0)},10)}var n="scroll",s,o,u,a,f,l,c=0,h,p=0,d=0,v=0,m,g;e.addEventListener("contextmenu",function(e){if(!m)return;var n=t.textInput.getElement();n.focus()}),e.addEventListener("touchstart",function(e){var i=e.touches;if(f||i.length>1){clearTimeout(f),f=null,u=-1,n="zoom";return}m=t.$mouseHandler.isMousePressed=!0;var l=t.renderer.layerConfig.lineHeight,g=t.renderer.layerConfig.lineHeight,y=e.timeStamp;a=y;var b=i[0],w=b.clientX,x=b.clientY;Math.abs(s-w)+Math.abs(o-x)>l&&(u=-1),s=e.clientX=w,o=e.clientY=x,d=v=0;var T=new r(e,t);h=T.getDocumentPosition();if(y-u<500&&i.length==1&&!c)p++,e.preventDefault(),e.button=0,S();else{p=0;var N=t.selection.cursor,C=t.selection.isEmpty()?N:t.selection.anchor,k=t.renderer.$cursorLayer.getPixelPosition(N,!0),L=t.renderer.$cursorLayer.getPixelPosition(C,!0),A=t.renderer.scroller.getBoundingClientRect(),O=function(e,t){return e/=g,t=t/l-.75,e*e+t*t};if(e.clientX_?"cursor":"anchor"),_<3.5?n="anchor":M<3.5?n="cursor":n="scroll",f=setTimeout(E,450)}u=y}),e.addEventListener("touchend",function(e){m=t.$mouseHandler.isMousePressed=!1,l&&clearInterval(l),n=="zoom"?(n="",c=0):f?(t.selection.moveToPosition(h),c=0,b()):n=="scroll"?(x(),e.preventDefault(),w()):b(),clearTimeout(f),f=null}),e.addEventListener("touchmove",function(e){f&&(clearTimeout(f),f=null);var i=e.touches;if(i.length>1||n=="zoom")return;var u=i[0],l=s-u.clientX,c=o-u.clientY;if(n=="wait"){if(!(l*l+c*c>4))return e.preventDefault();n="cursor"}s=u.clientX,o=u.clientY,e.clientX=u.clientX,e.clientY=u.clientY;var h=e.timeStamp,p=h-a;a=h;if(n=="scroll"){var m=new r(e,t);m.speed=1,m.wheelX=l,m.wheelY=c,10*Math.abs(l)1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a),f()};var f=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),f=function(){})};t.init=l,t.version="1.4.6"}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("./touch_handler").addTouchListeners,l=e("../config"),c=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),f(e.container,e);var l=e.renderer.$gutter;r.addListener(l,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(l,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(l,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(l,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(l,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,s=this.editor.renderer;s.$isMousePressed=!0;var o=this,a=function(e){if(!e)return;if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new u(e,o.editor),o.$mouseMoved=!0},f=function(e){n.off("beforeEndOperation",c),clearInterval(h),l(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",o.isMousePressed=s.$isMousePressed=!1,s.$keepTextAreaAtCursor&&s.$moveTextAreaToCursor(),o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e),n.endOperation()},l=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){f(e)});var c=function(e){if(!o.releaseMouse)return;n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+"End"]&&o[o.state+"End"](),o.state="",o.releaseMouse())};n.on("beforeEndOperation",c),n.startOperation({command:{name:"mouse"}}),o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,f);var h=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(c.prototype),l.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,"ace_inline_button")&&r.hasCssClass(o,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}var r=e("../lib/dom");t.FoldHandler=i}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);return this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b=-1,w=null,E=null,T=[];if(!r)for(w=0,r=[];w0)if(g==16){for(w=b;w-1){for(w=b;w=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o=e){u=i+1;while(u=e)u++;for(a=i,l=u-1;a=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+10&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;fT&&n[f]0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},this.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;ut&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},this.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p=u&&hn+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(o.prototype),t.BidiHandler=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var i=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],a=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d=function(e){this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e&&e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var v=a.substring(u.column,u.column+1);if(v=="}"){var m=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(m!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var g="";d.isMaybeInsertedClosing(u,a)&&(g=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var v=a.substring(u.column,u.column+1);if(v==="}"){var y=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!y)return null;var b=this.$getIndent(i.getLine(y.row))}else{if(!g){d.clearMaybeInsertedClosing();return}var b=this.$getIndent(a)}var w=b+i.getTabString();return{text:"\n"+w+"\n"+b+g,selection:[1,w.length,1,w.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(d);if(S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;var T=l[f.column-2];if(!(d!=o||T!=o&&!E.test(T)))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}})};d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;or)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column==t.column&&this.$bias<=0||(a.start.column+=l,a.start.row+=f));if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$bias<0)continue;a.end.column==t.column&&l>0&&oa.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;oi)break;if(a.end.rowt.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.rowt.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column,c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(tl)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn()+s.value.length-2,f}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;ne.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),o=this.$wrapData,u=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,o){var u;if(e!=null){u=this.$getDisplayTokens(e,a.length),u[0]=n;for(var f=1;fr-b){var w=f+r-b;if(e[w-1]>=c&&e[w]>=c){y(w);continue}if(e[w]==n||e[w]==s){for(w;w!=f-1;w--)if(e[w]==n)break;if(w>f){y(w);continue}w=f+r;for(w;w>2)),f-1);while(w>E&&e[w]E&&e[w]E&&e[w]==a)w--}else while(w>E&&e[w]E){y(++w);continue}w=f+r,e[w]==t&&w--,y(w-b)}return o},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(a):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=m}.call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),o.defineOptions(d.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e),e>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=d}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=u;n--)if(c(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=a,u=o.row;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return};else var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n+=1;n<=a;n++)if(c(n,0,e))return;if(t.wrap==0)return;for(n=u,a=o.row;n<=a;n++)if(c(n,0,e))return};if(t.$isMultiLine)var l=n.length,c=function(t,i,s){var o=r?t-l+1:t;if(o<0)return;var u=e.getLine(o),a=u.search(n[0]);if(!r&&ai)return;if(s(o,a,o+l-1,c))return!0};else if(r)var c=function(t,r,i){var s=e.getLine(t),o=[],u,a=0;n.lastIndex=0;while(u=n.exec(s)){var f=u[0].length;a=u.index;if(!f){if(a>=s.length)break;n.lastIndex=a+=1}if(u.index+f>r)break;o.push(u.index,f)}for(var l=o.length-1;l>=0;l-=2){var c=o[l-1],f=o[l];if(i(t,c,t,c+f))return!0}};else var c=function(t,r,i){var s=e.getLine(t),o,u;n.lastIndex=r;while(u=n.exec(s)){var a=u[0].length;o=u.index;if(i(t,o,t,o+a))return!0;if(!a){n.lastIndex=o+=1;if(o>=s.length)return!1}}};return{forEach:f}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var s=this.selection.toJSON();this.curOp.selectionAfter=s,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(s),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;iu.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e);n.insert(i,e),s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var h=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},h)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},this.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var i=new p(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=u&&o<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;hp+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",function(i){i.prompt(r,e,t,n)})}}.call(w.prototype),g.defineOptions(w.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=w}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)}}).call(r.prototype);var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLength(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;ns&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,f),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},this.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},this.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},this.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRowr&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,f);this.$renderCell(u,e,s,i),r.push(u),i++}return r},this.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],a=s.childNodes[1],f=o.$firstLineNumber,l=o.$breakpoints,c=o.$decorations,h=o.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&o.foldWidgets,d=n?n.start.row:Number.MAX_VALUE,v="ace_gutter-cell ";this.$highlightGutterLine&&(i==this.$cursorRow||n&&i=d&&this.$cursorRow<=n.end.row)&&(v+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),l[i]&&(v+=l[i]),c[i]&&(v+=c[i]),this.$annotations[i]&&(v+=this.$annotations[i].className),s.className!=v&&(s.className=v);if(p){var m=p[i];m==null&&(m=p[i]=o.getFoldWidget(i))}if(m){var v="ace_fold-widget ace_"+m;m=="start"&&i==d&&in.right-t.right)return"foldWidgets"}}).call(a.prototype),t.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.ip,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:0;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:0;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},this.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+e.width+(i||0)+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;nl&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1),f&&(c.style.top=this.$lines.computeLineTop(u,e,this.session)+"px");var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),a,f=0;while(a=o.exec(r)){var l=a[1],c=a[2],h=a[3],p=a[4],d=a[5];if(!i.showInvisibles&&c)continue;var v=f!=a.index?r.slice(f,a.index):"";f=a.index+a[0].length,v&&u.appendChild(this.dom.createTextNode(v,this.element));if(l){var m=i.session.getScreenTabSize(t+a.index);u.appendChild(i.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(c)if(i.showInvisibles){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=s.stringRepeat(i.SPACE_CHAR,c.length),u.appendChild(g)}else u.appendChild(this.com.createTextNode(c,this.element));else if(h){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=s.stringRepeat(i.SPACE_CHAR,h.length),u.appendChild(g)}else if(p){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=i.showInvisibles?i.SPACE_CHAR:p,u.appendChild(g)}else if(d){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=d,u.appendChild(g)}}u.appendChild(this.dom.createTextNode(f?r.slice(f):r,this.element));if(!this.$textToken[n.type]){var y="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");n.type=="fold"&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=y,g.appendChild(u),e.appendChild(g)}else e.appendChild(u);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;s=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,u,null,"",!0)},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;sthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.textContent=i?"":"",e.appendChild(s)},this.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showInvisibles&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.isCursorInView=function(e,t){return e.top>=0&&e.tope.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\u00a0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=256,l=typeof ResizeObserver=="function",c=200,h=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){var n=t[0].contentRect;e.checkForSizeChanges({height:n.height,width:n.width/f})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},this.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./layer/gutter").Gutter,u=e("./layer/marker").Marker,a=e("./layer/text").Text,f=e("./layer/cursor").Cursor,l=e("./scrollbar").HScrollBar,c=e("./scrollbar").VScrollBar,h=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,d=e("./lib/event_emitter").EventEmitter,v='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}',m=e("./lib/useragent"),g=m.isIE;i.importCssString(v,"ace_editor.css");var y=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new a(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new f(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new c(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,d),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),i.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight());if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$isMousePressed)return;var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(!n)return;t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,s=n.top,o=n.left;s-=r.offset;var u=t&&t.useTextareaForIME?this.lineHeight:g?0:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1,f=this.$size.height-u;if(!t)s+=this.lineHeight;else if(t.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0],u+=2}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,f))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},this.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME=this.$useTextareaForIME,this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,this.$composition=null,this.$cursorLayer.element.style.display=""},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var s={type:t,value:e},o=i.getTokens(n);if(r==null)o.push(s);else{var u=0;for(var a=0;a50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var p=e.getLine(l).length;return new r(f,u,l,p)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./range").Range,o=e("./editor").Editor,u=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,f=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e,n){if(typeof e=="string"){var s=e;e=document.getElementById(s);if(!e)throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var u="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;u=a.value,e=r.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(u=e.textContent,e.innerHTML="");var l=t.createEditSession(u),c=new o(new f(e),l,n),h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),i.addListener(window,"resize",h.onResize),c.on("destroy",function(){i.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new u(e,t);return n.setUndoManager(new a),n},t.Range=s,t.Editor=o,t.EditSession=u,t.UndoManager=a,t.VirtualRenderer=f,t.version=t.config.version}); (function() { + ace.require(["ace/ace"], function(a) { + if (a) { + a.config.init(true); + a.define = ace.define; + } + if (!window.ace) + window.ace = a; + for (var key in a) if (a.hasOwnProperty(key)) + window.ace[key] = a[key]; + window.ace["default"] = window.ace; + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = window.ace; + } + }); +})(); diff --git a/static/js/app.js b/static/js/app.js new file mode 100644 index 0000000..d09b160 --- /dev/null +++ b/static/js/app.js @@ -0,0 +1,1566 @@ +var editor = null; +var connected = false; +var bookmarks = {}; +var default_rows_limit = 100; +var currentObject = null; +var autocompleteObjects = []; + +var filterOptions = { + "equal": "= 'DATA'", + "not_equal": "!= 'DATA'", + "greater": "> 'DATA'" , + "greater_eq": ">= 'DATA'", + "less": "< 'DATA'", + "less_eq": "<= 'DATA'", + "like": "LIKE 'DATA'", + "ilike": "ILIKE 'DATA'", + "null": "IS NULL", + "not_null": "IS NOT NULL" +}; + +function getSessionId() { + var id = sessionStorage.getItem("session_id"); + + if (!id) { + id = guid(); + sessionStorage.setItem("session_id", id); + } + + return id; +} + +function setRowsLimit(num) { + localStorage.setItem("rows_limit", num); +} + +function getRowsLimit() { + return parseInt(localStorage.getItem("rows_limit") || default_rows_limit); +} + +function getPaginationOffset() { + var page = $(".current-page").data("page"); + var limit = getRowsLimit(); + return (page - 1) * limit; +} + +function getPagesCount(rowsCount) { + var limit = getRowsLimit(); + var num = parseInt(rowsCount / limit); + + if ((num * limit) < rowsCount) { + num++; + } + + return num; +} + +function apiCall(method, path, params, cb) { + var timeout = 300000; // 5 mins is enough + + $.ajax({ + timeout: timeout, + url: "api" + path, + method: method, + cache: false, + data: params, + headers: { + "x-session-id": getSessionId() + }, + success: function(data) { + cb(data); + }, + error: function(xhr, status, data) { + if (status == "timeout") { + return cb({ error: "Query timeout after " + (timeout / 1000) + "s" }); + } + + cb(jQuery.parseJSON(xhr.responseText)); + } + }); +} + +function getInfo(cb) { apiCall("get", "/info", {}, cb); } +function getObjects(cb) { apiCall("get", "/objects", {}, cb); } +function getTables(cb) { apiCall("get", "/tables", {}, cb); } +function getTableRows(table, opts, cb) { apiCall("get", "/tables/" + table + "/rows", opts, cb); } +function getTableStructure(table, opts, cb) { apiCall("get", "/tables/" + table, opts, cb); } +function getTableIndexes(table, cb) { apiCall("get", "/tables/" + table + "/indexes", {}, cb); } +function getTableConstraints(table, cb) { apiCall("get", "/tables/" + table + "/constraints", {}, cb); } +function getHistory(cb) { apiCall("get", "/history", {}, cb); } +function getBookmarks(cb) { apiCall("get", "/bookmarks", {}, cb); } +function executeQuery(query, cb) { apiCall("post", "/query", { query: query }, cb); } +function explainQuery(query, cb) { apiCall("post", "/explain", { query: query }, cb); } +function analyzeQuery(query, cb) { apiCall("post", "/analyze", { query: query }, cb); } +function disconnect(cb) { apiCall("post", "/disconnect", {}, cb); } + +function encodeQuery(query) { + return Base64.encode(query).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "."); +} + +function buildSchemaSection(name, objects) { + var section = ""; + + var titles = { + "table": "Tables", + "view": "Views", + "materialized_view": "Materialized Views", + "sequence": "Sequences" + }; + + var icons = { + "table": '', + "view": '', + "materialized_view": '', + "sequence": '' + }; + + var klass = ""; + if (name == "public") klass = "expanded"; + + section += "
"; + section += "
" + name + "
"; + section += "
"; + + ["table", "view", "materialized_view", "sequence"].forEach(function(group) { + group_klass = ""; + if (name == "public" && group == "table") group_klass = "expanded"; + + section += "
"; + section += "
" + titles[group] + " " + objects[group].length + "
"; + section += "
    "; + + if (objects[group]) { + objects[group].forEach(function(item) { + var id = name + "." + item; + section += "
  • " + icons[group] + " " + item + "
  • "; + }); + section += "
"; + } + }); + + section += "
"; + + return section; +} + +function loadSchemas() { + $("#objects").html(""); + + getObjects(function(data) { + if (Object.keys(data).length == 0) { + data["public"] = { + table: [], + view: [], + materialized_view: [], + sequence: [] + }; + } + + for (schema in data) { + $(buildSchemaSection(schema, data[schema])).appendTo("#objects"); + } + + if (Object.keys(data).length == 1) { + $(".schema").addClass("expanded"); + } + + // Clear out all autocomplete objects + autocompleteObjects = []; + for (schema in data) { + for (kind in data[schema]) { + if (!(kind == "table" || kind == "view" || kind == "materialized_view")) { + continue + } + for (item in data[schema][kind]) { + autocompleteObjects.push({ + caption: data[schema][kind][item], + value: data[schema][kind][item], + meta: kind + }); + } + } + } + + bindContextMenus(); + }); +} + +function escapeHtml(str) { + if (str != null || str != undefined) { + return jQuery("
").text(str).html(); + } + + return "null"; +} + +function unescapeHtml(str){ + var e = document.createElement("div"); + e.innerHTML = str; + return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue; +} + +function getCurrentObject() { + return currentObject || { name: "", type: "" }; +} + +function resetTable() { + $("#results"). + data("mode", ""). + removeClass("empty"). + removeClass("no-crop"); + + $("#results_header").html(""); + $("#results_body").html(""); +} + +function performTableAction(table, action, el) { + if (action == "truncate" || action == "delete") { + var message = "Are you sure you want to " + action + " table " + table + " ?"; + if (!confirm(message)) return; + } + + switch(action) { + case "truncate": + executeQuery("TRUNCATE TABLE " + table, function(data) { + if (data.error) alert(data.error); + resetTable(); + }); + break; + case "delete": + executeQuery("DROP TABLE " + table, function(data) { + if (data.error) alert(data.error); + loadSchemas(); + resetTable(); + }); + break; + case "export": + var format = el.data("format"); + var db = $("#current_database").text(); + var filename = db + "." + table + "." + format; + var query = window.encodeURI("SELECT * FROM " + table); + var url = window.location.href.split("#")[0] + "api/query?format=" + format + "&filename=" + filename + "&query=" + query + "&_session_id=" + getSessionId(); + var win = window.open(url, "_blank"); + win.focus(); + break; + case "dump": + var url = window.location.href.split("#")[0] + "api/export?table=" + table + "&_session_id=" + getSessionId(); + var win = window.open(url, "_blank"); + win.focus(); + break; + case "copy": + copyToClipboard(table.split('.')[1]); + break; + } +} + +function performViewAction(view, action, el) { + if (action == "delete") { + var message = "Are you sure you want to " + action + " view " + view + " ?"; + if (!confirm(message)) return; + } + + switch(action) { + case "delete": + executeQuery("DROP VIEW " + view, function(data) { + if (data.error) alert(data.error); + loadSchemas(); + resetTable(); + }); + break; + case "export": + var format = el.data("format"); + var db = $("#current_database").text(); + var filename = db + "." + view + "." + format; + var query = window.encodeURI("SELECT * FROM " + view); + var url = window.location.href.split("#")[0] + "api/query?format=" + format + "&filename=" + filename + "&query=" + query + "&_session_id=" + getSessionId(); + var win = window.open(url, "_blank"); + win.focus(); + break; + case "copy": + copyToClipboard(view.split('.')[1]); + break; + } +} + +function performRowAction(action, value) { + if (action == "stop_query") { + if (!confirm("Are you sure you want to stop the query?")) return; + executeQuery("SELECT pg_cancel_backend(" + value + ");", function(data) { + if (data.error) alert(data.error); + setTimeout(showActivityPanel, 1000); + }); + } +} + +function sortArrow(direction) { + switch (direction) { + case "ASC": + return "▲"; + case "DESC": + return "▼"; + default: + return ""; + } +} + +function buildTable(results, sortColumn, sortOrder, options) { + if (!options) options = {}; + var action = options.action; + + resetTable(); + + if (results.error) { + $("#results_header").html(""); + $("#results_body").html("ERROR: " + results.error + ""); + return; + } + + if (results.rows.length == 0) { + $("#results_header").html(""); + $("#results_body").html("No records found"); + $("#result-rows-count").html(""); + $("#results").addClass("empty"); + return; + } + + var cols = ""; + var rows = ""; + + results.columns.forEach(function(col) { + if (col === sortColumn) { + cols += "" + col + " " + sortArrow(sortOrder) + ""; + } + else { + cols += "" + col + ""; + } + }); + + // No header to make the column non-sortable + if (action) { + cols += ""; + + // Determine which column contains the data attribute + action.dataColumn = results.columns.indexOf(action.data); + } + + results.rows.forEach(function(row) { + var r = ""; + + // Add all actual row data here + for (i in row) { + r += "
" + escapeHtml(row[i]) + "
"; + } + + // Add row action button + if (action) { + r += "" + action.title + ""; + } + + rows += "" + r + ""; + }); + + $("#results_header").html(cols); + $("#results_body").html(rows); + + // Show number of rows rendered on the page + $("#result-rows-count").html(results.rows.length + " rows"); +} + +function setCurrentTab(id) { + // Pagination should only be visible on rows tab + if (id != "table_content") { + $("#body").removeClass("with-pagination"); + } + + $("#nav ul li.selected").removeClass("selected"); + $("#" + id).addClass("selected"); + + // Persist tab selection into the session storage + sessionStorage.setItem("tab", id); +} + +function showQueryHistory() { + getHistory(function(data) { + var rows = []; + + for(i in data) { + rows.unshift([parseInt(i) + 1, data[i].query, data[i].timestamp]); + } + + buildTable({ columns: ["id", "query", "timestamp"], rows: rows }); + + setCurrentTab("table_history"); + $("#input").hide(); + $("#body").prop("class", "full"); + $("#results").addClass("no-crop"); + }); +} + +function showTableIndexes() { + var name = getCurrentObject().name; + + if (name.length == 0) { + alert("Please select a table!"); + return; + } + + getTableIndexes(name, function(data) { + setCurrentTab("table_indexes"); + buildTable(data); + + $("#input").hide(); + $("#body").prop("class", "full"); + $("#results").addClass("no-crop"); + }); +} + +function showTableConstraints() { + var name = getCurrentObject().name; + + if (name.length == 0) { + alert("Please select a table!"); + return; + } + + getTableConstraints(name, function(data) { + setCurrentTab("table_constraints"); + buildTable(data); + + $("#input").hide(); + $("#body").prop("class", "full"); + $("#results").addClass("no-crop"); + }); +} + +function showTableInfo() { + var name = getCurrentObject().name; + + if (name.length == 0) { + alert("Please select a table!"); + return; + } + + apiCall("get", "/tables/" + name + "/info", {}, function(data) { + $(".table-information .lines").show(); + $("#table_total_size").text(data.total_size); + $("#table_data_size").text(data.data_size); + $("#table_index_size").text(data.index_size); + $("#table_rows_count").text(data.rows_count); + $("#table_encoding").text("Unknown"); + }); + + buildTableFilters(name, getCurrentObject().type); +} + +function updatePaginator(pagination) { + if (!pagination) { + $(".current-page").data("page", 1).data("pages", 1); + $("button.page").text("1 of 1"); + $(".prev-page, .next-page").prop("disabled", "disabled"); + return; + } + + $(".current-page"). + data("page", pagination.page). + data("pages", pagination.pages_count); + + if (pagination.page > 1) { + $(".prev-page").prop("disabled", ""); + } + else { + $(".prev-page").prop("disabled", "disabled"); + } + + if (pagination.pages_count > 1 && pagination.page < pagination.pages_count) { + $(".next-page").prop("disabled", ""); + } + else { + $(".next-page").prop("disabled", "disabled"); + } + + $("#total_records").text(pagination.rows_count); + if (pagination.pages_count == 0) pagination.pages_count = 1; + $("button.page").text(pagination.page + " of " + pagination.pages_count); +} + +function showTableContent(sortColumn, sortOrder) { + var name = getCurrentObject().name; + + if (name.length == 0) { + alert("Please select a table!"); + return; + } + + var opts = { + limit: getRowsLimit(), + offset: getPaginationOffset(), + sort_column: sortColumn, + sort_order: sortOrder + }; + + var filter = { + column: $(".filters select.column").val(), + op: $(".filters select.filter").val(), + input: $(".filters input").val() + }; + + // Apply filtering only if column is selected + if (filter.column && filter.op) { + var where = [ + '"' + filter.column + '"', + filterOptions[filter.op].replace("DATA", filter.input) + ].join(" "); + + opts["where"] = where; + } + + getTableRows(name, opts, function(data) { + $("#input").hide(); + $("#body").prop("class", "with-pagination"); + + buildTable(data, sortColumn, sortOrder); + setCurrentTab("table_content"); + updatePaginator(data.pagination); + + $("#results").data("mode", "browse").data("table", name); + }); +} + +function showPaginatedTableContent() { + var activeColumn = $("#results th.active"); + var sortColumn = null; + var sortOrder = null; + + if (activeColumn.length) { + sortColumn = activeColumn.data("name"); + sortOrder = activeColumn.data("order"); + } + + showTableContent(sortColumn, sortOrder); +} + +function showTableStructure() { + var name = getCurrentObject().name; + + if (name.length == 0) { + alert("Please select a table!"); + return; + } + + setCurrentTab("table_structure"); + + $("#input").hide(); + $("#body").prop("class", "full"); + + getTableStructure(name, { type: getCurrentObject().type }, function(data) { + buildTable(data); + $("#results").addClass("no-crop"); + }); +} + +function showQueryPanel() { + if (!$("#table_query").hasClass("selected")) { + resetTable(); + } + + setCurrentTab("table_query"); + editor.focus(); + + $("#input").show(); + $("#body").prop("class", "") +} + +function showConnectionPanel() { + setCurrentTab("table_connection"); + + apiCall("get", "/connection", {}, function(data) { + var rows = []; + + for(key in data) { + rows.push([key, data[key]]); + } + + buildTable({ + columns: ["attribute", "value"], + rows: rows + }); + + $("#input").hide(); + $("#body").addClass("full"); + }); +} + +function showActivityPanel() { + var options = { + action: { + name: "stop_query", + title: "stop", + data: "pid", + style: "danger" + } + } + + setCurrentTab("table_activity"); + apiCall("get", "/activity", {}, function(data) { + buildTable(data, null, null, options); + $("#input").hide(); + $("#body").addClass("full"); + }); +} + +function showQueryProgressMessage() { + $("#run, #explain-dropdown-toggle, #csv, #json, #xml").prop("disabled", true); + $("#explain-dropdown").removeClass("open"); + $("#query_progress").show(); +} + +function hideQueryProgressMessage() { + $("#run, #explain-dropdown-toggle, #csv, #json, #xml").prop("disabled", false); + $("#query_progress").hide(); +} + +function getEditorSelection() { + // Return the exact selection if user has one + var query = $.trim(editor.getSelectedText()); + if (query.length > 0) { + return query; + } + + query = editor.getValue(); + + // Determine which query we should run when there are multiple queries without a delimiter + if (query.indexOf(";") == -1) { + var subquery = getSubquery(query, editor.getCursorPosition()); + + if (subquery) { + // Highlight query selection so user knows what is being executed + if (subquery.numChunks > 1) { + editor.selection.setSelectionRange({ + start: { row: subquery.startRow, column: 0 }, + end: { row: subquery.endRow, column: 0 }, + }) + } + + return subquery.text; + } + } + + return query; +} + +function getSubquery(text, cursor) { + var lines = text.split("\n"); + var startRow = undefined; + var numChunks = 0; + var ranges = []; + + for (i = 0; i < lines.length; i++) { + if (lines[i].trim().length == 0) { + if (startRow >= 0 && cursor.row >= startRow && cursor.row <= i) { + ranges.push([startRow, i]); + } + + numChunks++; + startRow = undefined; + continue; + } + + if (startRow === undefined) { + startRow = i; + } + + if (i == lines.length - 1) { + ranges.push([startRow, i + 1]); + numChunks++; + } + } + + if (ranges.length > 0) { + return { + text: lines.slice(ranges[0][0], ranges[0][1]).join("\n"), + startRow: ranges[0][0], + endRow: ranges[0][1], + numChunks: numChunks + }; + } +} + +function runQuery() { + setCurrentTab("table_query"); + showQueryProgressMessage(); + + var query = getEditorSelection(); + if (query.length == 0) { + hideQueryProgressMessage(); + return; + } + + executeQuery(query, function(data) { + buildTable(data); + + hideQueryProgressMessage(); + $("#input").show(); + $("#body").removeClass("full"); + $("#results").data("mode", "query"); + + if (query.toLowerCase().indexOf("explain") != -1) { + $("#results").addClass("no-crop"); + } + + // Reload objects list if anything was created/deleted + if (query.match(/(create|drop)\s/i)) { + loadSchemas(); + } + }); +} + +function runExplain() { + setCurrentTab("table_query"); + showQueryProgressMessage(); + + var query = getEditorSelection(); + if (query.length == 0) { + hideQueryProgressMessage(); + return; + } + + explainQuery(query, function(data) { + buildTable(data); + + hideQueryProgressMessage(); + $("#input").show(); + $("#body").removeClass("full"); + $("#results").addClass("no-crop"); + }); +} + +function runAnalyze() { + setCurrentTab("table_query"); + showQueryProgressMessage(); + + var query = getEditorSelection(); + if (query.length == 0) { + hideQueryProgressMessage(); + return; + } + + analyzeQuery(query, function(data) { + buildTable(data); + + hideQueryProgressMessage(); + $("#input").show(); + $("#body").removeClass("full"); + $("#results").addClass("no-crop"); + }); +} + +function exportTo(format) { + var query = getEditorSelection(); + if (query.length == 0) { + return; + } + + var url = window.location.href.split("#")[0] + "api/query?format=" + format + "&query=" + encodeQuery(query) + "&_session_id=" + getSessionId(); + var win = window.open(url, '_blank'); + + setCurrentTab("table_query"); + win.focus(); +} + +// Fetch all unique values for the selected column in the table +function showUniqueColumnsValues(table, column, showCounts) { + var query = 'SELECT DISTINCT "' + column + '" FROM ' + table; + + // Display results ordered by counts. + // This could be slow on large sets without an index. + if (showCounts) { + query = 'SELECT DISTINCT "' + column + '", COUNT(1) AS total_count FROM ' + table + ' GROUP BY "' + column + '" ORDER BY total_count DESC'; + } + + executeQuery(query, function(data) { + $("#input").hide(); + $("#body").prop("class", "full"); + $("#results").data("mode", "query"); + buildTable(data); + }); +} + +// Show numeric stats on the field +function showFieldNumStats(table, column) { + var query = 'SELECT count(1), min(' + column + '), max(' + column + '), avg(' + column + ') FROM ' + table; + + executeQuery(query, function(data) { + $("#input").hide(); + $("#body").prop("class", "full"); + $("#results").data("mode", "query"); + buildTable(data); + }); +} + +function buildTableFilters(name, type) { + getTableStructure(name, { type: type }, function(data) { + if (data.rows.length == 0) { + $("#pagination .filters").hide(); + } + else { + $("#pagination .filters").show(); + } + + $("#pagination select.column").html(""); + + for (var i = 0; i < data.rows.length; i++) { + var row = data.rows[i]; + + var el = $("").appendTo("#connection_bookmarks"); + + // Add all available bookmarks + for (key in data) { + $("").appendTo("#connection_bookmarks"); + } + + $(".bookmarks").show(); + } + else { + $(".bookmarks").hide(); + } + }); + + $("#connection_window").show(); +} + +function getConnectionString() { + var url = $.trim($("#connection_url").val()); + var mode = $(".connection-group-switch button.active").attr("data"); + var ssl = $("#connection_ssl").val(); + + if (mode == "standard" || mode == "ssh") { + var host = $("#pg_host").val(); + var port = $("#pg_port").val(); + var user = $("#pg_user").val(); + var pass = encodeURIComponent($("#pg_password").val()); + var db = $("#pg_db").val(); + + if (port.length == 0) { + port = "5432"; + } + + url = "postgres://" + user + ":" + pass + "@" + host + ":" + port + "/" + db + "?sslmode=" + ssl; + } + else { + var local = url.indexOf("localhost") != -1 || url.indexOf("127.0.0.1") != -1; + + if (local && url.indexOf("sslmode") == -1) { + url += "?sslmode=" + ssl; + } + } + + return url; +} + +// Add a context menu to the results table header columns +function bindTableHeaderMenu() { + $("#results_header").contextmenu({ + scopes: "th", + target: "#results_header_menu", + before: function(e, element, target) { + // Enable menu for browsing table rows view only. + if ($("#results").data("mode") != "browse") { + e.preventDefault(); + this.closemenu(); + return false; + } + }, + onItem: function(context, e) { + var menuItem = $(e.target); + + switch(menuItem.data("action")) { + case "copy_name": + copyToClipboard($(context).data("name")); + break; + + case "unique_values": + showUniqueColumnsValues( + $("#results").data("table"), // table name + $(context).data("name"), // column name + menuItem.data("counts") // display counts + ); + break; + + case "num_stats": + showFieldNumStats( + $("#results").data("table"), // table name + $(context).data("name") // column name + ); + break; + } + } + }); + + $("#results_body").contextmenu({ + scopes: "td", + target: "#results_row_menu", + before: function(e, element, target) { + var browseMode = $("#results").data("mode"); + var isEmpty = $("#results").hasClass("empty"); + var isAllowed = browseMode == "browse" || browseMode == "query"; + + if (isEmpty || !isAllowed) { + e.preventDefault(); + this.closemenu(); + return false; + } + }, + onItem: function(context, e) { + var menuItem = $(e.target); + + switch(menuItem.data("action")) { + case "copy_value": + copyToClipboard($(context).text()); + break; + case "filter_by_value": + var colIdx = $(context).data("col"); + var colValue = $(context).text(); + var colName = $("#results_header th").eq(colIdx).data("name"); + + $("select.column").val(colName); + $("select.filter").val("equal"); + $("#table_filter_value").val(colValue); + $("#rows_filter").submit(); + } + } + }); +} + +function bindCurrentDatabaseMenu() { + $("#current_database").contextmenu({ + target: "#current_database_context_menu", + onItem: function(context, e) { + var menuItem = $(e.target); + + switch(menuItem.data("action")) { + case "export": + var url = window.location.href.split("#")[0] + "api/export?_session_id=" + getSessionId(); + var win = window.open(url, "_blank"); + win.focus(); + break; + } + } + }); +} + +function bindDatabaseObjectsFilter() { + var filterTimeout = null; + + $("#filter_database_objects").on("keyup", function (e) { + clearTimeout(filterTimeout); + + var val = $(this).val().trim(); + + // Reset search on ESC + if (e.keyCode == 27 || val == "") { + resetObjectsFilter(); + return; + } + + $(".clear-objects-filter").show(); + $(".schema-group").addClass("expanded"); + + filterTimeout = setTimeout(function () { + filterObjectsByName(val) + }, 200); + }); + + $(".clear-objects-filter").on("click", function(e) { + resetObjectsFilter(); + }); +} + +function resetObjectsFilter() { + $("#filter_database_objects").val(""); + $("#objects li.schema-item").show(); + $(".clear-objects-filter").hide(); +} + +function filterObjectsByName(query) { + $("#objects li.schema-item").each(function (idx, el) { + var item = $(el); + var name = $(el).data("name"); + + if (name.indexOf(query) < 0) { + item.hide(); + } else { + item.show(); + } + }); +} + +function getQuotedSchemaTableName(table) { + if (typeof table === "string" && table.indexOf(".") > -1) { + var schemaTableComponents = table.split("."); + return ['"', schemaTableComponents[0], '"."', schemaTableComponents[1], '"'].join(''); + } + return table; +} + +function bindContextMenus() { + bindTableHeaderMenu(); + bindCurrentDatabaseMenu(); + + $(".schema-group ul").each(function(id, el) { + var group = $(el).data("group"); + + if (group == "table") { + $(el).contextmenu({ + target: "#tables_context_menu", + scopes: "li.schema-table", + onItem: function(context, e) { + var el = $(e.target); + var table = getQuotedSchemaTableName($(context[0]).data("id")); + var action = el.data("action"); + performTableAction(table, action, el); + } + }); + } + + if (group == "view") { + $(el).contextmenu({ + target: "#view_context_menu", + scopes: "li.schema-view", + onItem: function(context, e) { + var el = $(e.target); + var table = getQuotedSchemaTableName($(context[0]).data("id")); + var action = el.data("action"); + performViewAction(table, action, el); + } + }); + } + }); +} + +function toggleDatabaseSearch() { + $("#current_database").toggle(); + $("#database_search").toggle(); +} + +function enableDatabaseSearch(data) { + var input = $("#database_search"); + + input.typeahead("destroy"); + + input.typeahead({ + source: data, + minLength: 0, + items: "all", + autoSelect: false, + fitToElement: true + }); + + input.typeahead("lookup").focus(); + + input.on("focusout", function(e){ + toggleDatabaseSearch(); + input.off("focusout"); + }); +} + +$(document).ready(function() { + $("#table_content").on("click", function() { showTableContent(); }); + $("#table_structure").on("click", function() { showTableStructure(); }); + $("#table_indexes").on("click", function() { showTableIndexes(); }); + $("#table_constraints").on("click", function() { showTableConstraints(); }); + $("#table_history").on("click", function() { showQueryHistory(); }); + $("#table_query").on("click", function() { showQueryPanel(); }); + $("#table_connection").on("click", function() { showConnectionPanel(); }); + $("#table_activity").on("click", function() { showActivityPanel(); }); + + $("#run").on("click", function() { + runQuery(); + }); + + $("#explain").on("click", function() { + runExplain(); + }); + + $("#analyze").on("click", function() { + runAnalyze(); + }); + + $("#csv").on("click", function() { + exportTo("csv"); + }); + + $("#json").on("click", function() { + exportTo("json"); + }); + + $("#xml").on("click", function() { + exportTo("xml"); + }); + + $("#results").on("click", "tr", function(e) { + $("#results tr.selected").removeClass(); + $(this).addClass("selected"); + }); + + $("#objects").on("click", ".schema-group-title", function(e) { + $(this).parent().toggleClass("expanded"); + }); + + $("#objects").on("click", ".schema-name", function(e) { + $(this).parent().toggleClass("expanded"); + }); + + $("#objects").on("click", "li", function(e) { + currentObject = { + name: $(this).data("id"), + type: $(this).data("type") + }; + + $("#objects li").removeClass("active"); + $(this).addClass("active"); + $(".current-page").data("page", 1); + $(".filters select, .filters input").val(""); + + showTableInfo(); + + switch(sessionStorage.getItem("tab")) { + case "table_content": + showTableContent(); + break; + case "table_structure": + showTableStructure(); + break; + case "table_constraints": + showTableConstraints(); + break; + case "table_indexes": + showTableIndexes(); + break; + default: + showTableContent(); + } + }); + + $("#results").on("click", "a.row-action", function(e) { + e.preventDefault(); + + var action = $(this).data("action"); + var value = $(this).data("value"); + + performRowAction(action, value); + }) + + $("#results").on("click", "th", function(e) { + if (!$("#table_content").hasClass("selected")) return; + + var sortColumn = $(this).data("name"); + var sortOrder = $(this).data("order") === "ASC" ? "DESC" : "ASC"; + + $(this).data("order", sortOrder); + showTableContent(sortColumn, sortOrder); + }); + + $("#refresh_tables").on("click", function() { + loadSchemas(); + }); + + $("#rows_filter").on("submit", function(e) { + e.preventDefault(); + $(".current-page").data("page", 1); + + var column = $(this).find("select.column").val(); + var filter = $(this).find("select.filter").val(); + var query = $.trim($(this).find("input").val()); + + if (filter && filterOptions[filter].indexOf("DATA") > 0 && query == "") { + alert("Please specify filter query"); + return + } + + showTableContent(); + }); + + $(".change-limit").on("click", function() { + var limit = prompt("Please specify a new rows limit", getRowsLimit()); + + if (limit && limit >= 1) { + $(".current-page").data("page", 1); + setRowsLimit(limit); + showTableContent(); + } + }); + + $("select.filter").on("change", function(e) { + var val = $(this).val(); + + if (["null", "not_null"].indexOf(val) >= 0) { + $(".filters input").hide().val(""); + } + else { + $(".filters input").show(); + } + }); + + $("button.reset-filters").on("click", function() { + $(".filters select, .filters input").val(""); + showTableContent(); + }); + + // Automatically prefill the filter if it's not set yet + $("select.column").on("change", function() { + if ($("select.filter").val() == "") { + $("select.filter").val("equal"); + $("#table_filter_value").focus(); + } + }); + + $("#pagination .next-page").on("click", function() { + var current = $(".current-page").data("page"); + var total = $(".current-page").data("pages"); + + if (total > current) { + $(".current-page").data("page", current + 1); + showPaginatedTableContent(); + + if (current + 1 == total) { + $(this).prop("disabled", "disabled"); + } + } + + if (current > 1) { + $(".prev-page").prop("disabled", ""); + } + }); + + $("#pagination .prev-page").on("click", function() { + var current = $(".current-page").data("page"); + + if (current > 1) { + $(".current-page").data("page", current - 1); + $(".next-page").prop("disabled", ""); + showPaginatedTableContent(); + } + + if (current == 1) { + $(this).prop("disabled", "disabled"); + } + }); + + $("#current_database").on("click", function(e) { + apiCall("get", "/databases", {}, function(resp) { + toggleDatabaseSearch(); + enableDatabaseSearch(resp); + }); + }); + + $("#database_search").change(function(e) { + var current = $("#database_search").typeahead("getActive"); + if (current && current == $("#database_search").val()) { + apiCall("post", "/switchdb", { db: current }, function(resp) { + if (resp.error) { + alert(resp.error); + return; + }; + window.location.reload(); + }); + }; + }); + + $("#edit_connection").on("click", function() { + if (connected) { + $("#close_connection_window").show(); + } + + showConnectionSettings(); + }); + + $("#close_connection").on("click", function() { + if (!confirm("Are you sure you want to disconnect?")) return; + + disconnect(function() { + showConnectionSettings(); + resetTable(); + $("#close_connection_window").hide(); + }); + }); + + $("#close_connection_window").on("click", function() { + $("#connection_window").hide(); + }); + + $("#connection_url").on("change", function() { + if ($(this).val().indexOf("localhost") != -1) { + $("#connection_ssl").val("disable"); + } + }); + + $("#pg_host").on("change", function() { + var value = $(this).val(); + + if (value.indexOf("localhost") != -1 || value.indexOf("127.0.0.1") != -1) { + $("#connection_ssl").val("disable"); + } + }); + + $(".connection-group-switch button").on("click", function() { + $(".connection-group-switch button").removeClass("active"); + $(this).addClass("active"); + + switch($(this).attr("data")) { + case "scheme": + $(".connection-scheme-group").show(); + $(".connection-standard-group").hide(); + $(".connection-ssh-group").hide(); + return; + case "standard": + $(".connection-scheme-group").hide(); + $(".connection-standard-group").show(); + $(".connection-ssh-group").hide(); + return; + case "ssh": + $(".connection-scheme-group").hide(); + $(".connection-standard-group").show(); + $(".connection-ssh-group").show(); + return; + } + }); + + $("#connection_bookmarks").on("change", function(e) { + var name = $.trim($(this).val()); + if (name == "") return; + + var item = bookmarks[name]; + + // Check if bookmark only has url set + if (item.url && item.url != "") { + $("#connection_url").val(item.url); + $("#connection_scheme").click(); + return; + } + + // Fill in bookmarked connection settings + $("#pg_host").val(item.host); + $("#pg_port").val(item.port); + $("#pg_user").val(item.user); + $("#pg_password").val(item.password); + $("#pg_db").val(item.database); + $("#connection_ssl").val(item.ssl); + + if (item.ssh && Object.keys(item.ssh).length > 0) { + $("#ssh_host").val(item.ssh.host); + $("#ssh_port").val(item.ssh.port); + $("#ssh_user").val(item.ssh.user); + $("#ssh_password").val(item.ssh.password); + $("#ssh_key").val(item.ssh.key); + $("#ssh_key_password").val(item.ssh.keypassword); + $("#connection_ssh").click(); + } + else { + $("#ssh_host").val(""); + $("#ssh_port").val(""); + $("#ssh_user").val(""); + $("#ssh_password").val(""); + $("#ssh_key").val(""); + $("#ssh_key_password").val(""); + $(".connection-ssh-group").hide(); + $("#connection_standard").click(); + } + }); + + $("#connection_form").on("submit", function(e) { + e.preventDefault(); + + var button = $(this).find("button.open-connection"); + var params = { + url: getConnectionString() + }; + + if (params.url.length == 0) { + return; + } + + if ($(".connection-group-switch button.active").attr("data") == "ssh") { + params["ssh"] = 1 + params["ssh_host"] = $("#ssh_host").val(); + params["ssh_port"] = $("#ssh_port").val(); + params["ssh_user"] = $("#ssh_user").val(); + params["ssh_password"] = $("#ssh_password").val(); + params["ssh_key"] = $("#ssh_key").val(); + params["ssh_key_password"] = $("#ssh_key_password").val() + } + + $("#connection_error").hide(); + button.prop("disabled", true).text("Please wait..."); + + apiCall("post", "/connect", params, function(resp) { + button.prop("disabled", false).text("Connect"); + + if (resp.error) { + connected = false; + $("#connection_error").text(resp.error).show(); + } + else { + connected = true; + loadSchemas(); + + $("#connection_window").hide(); + $("#current_database").text(resp.current_database); + $("#main").show(); + } + }); + }); + + initEditor(); + addShortcutTooltips(); + + // Set session from the url + var reqUrl = new URL(window.location); + var sessionId = reqUrl.searchParams.get("session"); + + if (sessionId && sessionId != "") { + sessionStorage.setItem("session_id", sessionId); + window.history.pushState({}, document.title, window.location.pathname); + } + + apiCall("get", "/connection", {}, function(resp) { + if (resp.error) { + connected = false; + showConnectionSettings(); + $(".connection-actions").show(); + } + else { + connected = true; + loadSchemas(); + + $("#current_database").text(resp.current_database); + $("#main").show(); + + if (!resp.session_lock) { + $(".connection-actions").show(); + } + } + }); + + bindDatabaseObjectsFilter(); +}); diff --git a/static/js/base64.js b/static/js/base64.js new file mode 100644 index 0000000..c33fa8a --- /dev/null +++ b/static/js/base64.js @@ -0,0 +1,107 @@ +/** +* +* Base64 encode / decode +* http://www.webtoolkit.info/ +* +**/ +var Base64 = { + // private property + _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + // public method for encoding + encode : function (input) { + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + input = Base64._utf8_encode(input); + while (i < input.length) { + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + output = output + + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); + } + return output; + }, + // public method for decoding + decode : function (input) { + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + while (i < input.length) { + enc1 = this._keyStr.indexOf(input.charAt(i++)); + enc2 = this._keyStr.indexOf(input.charAt(i++)); + enc3 = this._keyStr.indexOf(input.charAt(i++)); + enc4 = this._keyStr.indexOf(input.charAt(i++)); + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + } + output = Base64._utf8_decode(output); + return output; + }, + // private method for UTF-8 encoding + _utf8_encode : function (string) { + string = string.replace(/\r\n/g,"\n"); + var utftext = ""; + for (var n = 0; n < string.length; n++) { + var c = string.charCodeAt(n); + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + } + return utftext; + }, + // private method for UTF-8 decoding + _utf8_decode : function (utftext) { + var string = ""; + var i = 0; + var c = c1 = c2 = 0; + while ( i < utftext.length ) { + c = utftext.charCodeAt(i); + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utftext.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utftext.charCodeAt(i+1); + c3 = utftext.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + } + return string; + } +} \ No newline at end of file diff --git a/static/js/bootstrap-contextmenu.js b/static/js/bootstrap-contextmenu.js new file mode 100644 index 0000000..eb11e26 --- /dev/null +++ b/static/js/bootstrap-contextmenu.js @@ -0,0 +1,205 @@ +/*! + * Bootstrap Context Menu + * Author: @sydcanem + * https://github.com/sydcanem/bootstrap-contextmenu + * + * Inspired by Bootstrap's dropdown plugin. + * Bootstrap (http://getbootstrap.com). + * + * Licensed under MIT + * ========================================================= */ + +;(function($) { + + 'use strict'; + + /* CONTEXTMENU CLASS DEFINITION + * ============================ */ + var toggle = '[data-toggle="context"]'; + + var ContextMenu = function (element, options) { + this.$element = $(element); + + this.before = options.before || this.before; + this.onItem = options.onItem || this.onItem; + this.scopes = options.scopes || null; + + if (options.target) { + this.$element.data('target', options.target); + } + + this.listen(); + }; + + ContextMenu.prototype = { + + constructor: ContextMenu + ,show: function(e) { + + var $menu + , evt + , tp + , items + , relatedTarget = { relatedTarget: this, target: e.currentTarget }; + + if (this.isDisabled()) return; + + this.closemenu(); + + if (this.before.call(this,e,$(e.currentTarget)) === false) return; + + $menu = this.getMenu(); + $menu.trigger(evt = $.Event('show.bs.context', relatedTarget)); + + tp = this.getPosition(e, $menu); + items = 'li:not(.divider)'; + $menu.attr('style', '') + .css(tp) + .addClass('open') + .on('click.context.data-api', items, $.proxy(this.onItem, this, $(e.currentTarget))) + .trigger('shown.bs.context', relatedTarget); + + // Delegating the `closemenu` only on the currently opened menu. + // This prevents other opened menus from closing. + $('html') + .on('click.context.data-api', $menu.selector, $.proxy(this.closemenu, this)); + + return false; + } + + ,closemenu: function(e) { + var $menu + , evt + , items + , relatedTarget; + + $menu = this.getMenu(); + + if(!$menu.hasClass('open')) return; + + relatedTarget = { relatedTarget: this }; + $menu.trigger(evt = $.Event('hide.bs.context', relatedTarget)); + + items = 'li:not(.divider)'; + $menu.removeClass('open') + .off('click.context.data-api', items) + .trigger('hidden.bs.context', relatedTarget); + + $('html') + .off('click.context.data-api', $menu.selector); + // Don't propagate click event so other currently + // opened menus won't close. + e.stopPropagation(); + } + + ,keydown: function(e) { + if (e.which == 27) this.closemenu(e); + } + + ,before: function(e) { + return true; + } + + ,onItem: function(e) { + return true; + } + + ,listen: function () { + this.$element.on('contextmenu.context.data-api', this.scopes, $.proxy(this.show, this)); + $('html').on('click.context.data-api', $.proxy(this.closemenu, this)); + $('html').on('keydown.context.data-api', $.proxy(this.keydown, this)); + } + + ,destroy: function() { + this.$element.off('.context.data-api').removeData('context'); + $('html').off('.context.data-api'); + } + + ,isDisabled: function() { + return this.$element.hasClass('disabled') || + this.$element.attr('disabled'); + } + + ,getMenu: function () { + var selector = this.$element.data('target') + , $menu; + + if (!selector) { + selector = this.$element.attr('href'); + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, ''); //strip for ie7 + } + + $menu = $(selector); + + return $menu && $menu.length ? $menu : this.$element.find(selector); + } + + ,getPosition: function(e, $menu) { + var mouseX = e.clientX + , mouseY = e.clientY + , boundsX = $(window).width() + , boundsY = $(window).height() + , menuWidth = $menu.find('.dropdown-menu').outerWidth() + , menuHeight = $menu.find('.dropdown-menu').outerHeight() + , tp = {"position":"absolute","z-index":9999} + , Y, X, parentOffset; + + if (mouseY + menuHeight > boundsY) { + Y = {"top": mouseY - menuHeight + $(window).scrollTop()}; + } else { + Y = {"top": mouseY + $(window).scrollTop()}; + } + + if ((mouseX + menuWidth > boundsX) && ((mouseX - menuWidth) > 0)) { + X = {"left": mouseX - menuWidth + $(window).scrollLeft()}; + } else { + X = {"left": mouseX + $(window).scrollLeft()}; + } + + // If context-menu's parent is positioned using absolute or relative positioning, + // the calculated mouse position will be incorrect. + // Adjust the position of the menu by its offset parent position. + parentOffset = $menu.offsetParent().offset(); + X.left = X.left - parentOffset.left; + Y.top = Y.top - parentOffset.top; + + return $.extend(tp, Y, X); + } + + }; + + /* CONTEXT MENU PLUGIN DEFINITION + * ========================== */ + + $.fn.contextmenu = function (option,e) { + return this.each(function () { + var $this = $(this) + , data = $this.data('context') + , options = (typeof option == 'object') && option; + + if (!data) $this.data('context', (data = new ContextMenu($this, options))); + if (typeof option == 'string') data[option].call(data, e); + }); + }; + + $.fn.contextmenu.Constructor = ContextMenu; + + /* APPLY TO STANDARD CONTEXT MENU ELEMENTS + * =================================== */ + + $(document) + .on('contextmenu.context.data-api', function() { + $(toggle).each(function () { + var data = $(this).data('context'); + if (!data) return; + data.closemenu(); + }); + }) + .on('contextmenu.context.data-api', toggle, function(e) { + $(this).contextmenu('show', e); + + e.preventDefault(); + e.stopPropagation(); + }); + +}(jQuery)); diff --git a/static/js/bootstrap-dropdown.js b/static/js/bootstrap-dropdown.js new file mode 100644 index 0000000..6881cd2 --- /dev/null +++ b/static/js/bootstrap-dropdown.js @@ -0,0 +1,150 @@ +/* ======================================================================== + * Bootstrap: dropdown.js v3.2.0 + * http://getbootstrap.com/javascript/#dropdowns + * ======================================================================== + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + ++function ($) { + 'use strict'; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle="dropdown"]' + var Dropdown = function (element) { + $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.VERSION = '3.2.0' + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we use a backdrop because click events don't delegate + $('