Commit graph

237 commits

Author SHA1 Message Date
Michael Mayer
c0f10e2288 Use gettext for backend translations too
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 01:26:54 +02:00
Michael Mayer
f4e8b59c3b Rename PHOTOPRISM_CONVERT_SIZE to PHOTOPRISM_JPEG_SIZE #388
Naming more consistent with PHOTOPRISM_JPEG_QUALITY.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 14:30:19 +02:00
Michael Mayer
9eafc8c844 Add PHOTOPRISM_CONVERT_SIZE to docker-compose.yml examples #388
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 14:24:10 +02:00
Michael Mayer
4a9f992056 Thumbs: Use fit_4096 in favor of fit_3840 and add convert limit #362 #388
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:23:54 +02:00
Michael Mayer
eeeff27ba5 Frontend: Update favicons
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-09 16:06:58 +02:00
Michael Mayer
7cd88e411a Frontend: Improve loading animation and logo
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-09 15:01:36 +02:00
Michael Mayer
64676af55c Frontend: Move connection failed info to navigation and add help page #330 #376
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-03 13:45:23 +02:00
Michael Mayer
abe9d16340 Config: Change mysqld defaults #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 18:55:42 +02:00
Michael Mayer
aae3a4af2d Show warning if websocket connection fails #330
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 18:37:54 +02:00
Michael Mayer
ba5ab56dba Frontend: Add about and license page
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 14:52:24 +02:00
Michael Mayer
56cf8e95e0 Add change password form to settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 21:14:34 +02:00
Michael Mayer
6266a88c68 Sharing: Remove space from og:type tag #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 17:48:18 +02:00
Michael Mayer
c07f657c06 Sharing: Set siteUrl to shared content #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 17:39:53 +02:00
Michael Mayer
8d79f90138 Sharing: Use album title & description for site metadata #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 09:28:32 +02:00
Michael Mayer
16cdea77b7 Update docker-compose.yml example files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 19:08:56 +02:00
Michael Mayer
1fb8b5cd63 Use static logo in sidebar navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 16:11:56 +02:00
Michael Mayer
4aa7b6cc97 Sharing: Generate share preview images #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 14:26:36 +02:00
Michael Mayer
01c78639ef Config: Shorten default site caption
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 18:39:55 +02:00
Michael Mayer
5d59b50912 Sharing: ACL authorization for REST API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 14:54:04 +02:00
Michael Mayer
178ae9190b Config: Update site description default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
a91206a509 Universal sidecar configuration, indexing with multiple roots #268 #348
Slowly getting to the point where only very few people are able to maintain this codebase :)

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:09:35 +02:00
Michael Mayer
39340c2978 MySQL/MariaDB: Enable charset utf8mb4 in docker-compose.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 14:03:14 +02:00
Michael Mayer
ca8a8466d4 Indexing bug fixes and UX improvements
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 14:56:27 +02:00
Michael Mayer
f32bbcc108 Config: Update example docker-compose.yml files #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 13:21:12 +02:00
Michael Mayer
d0199598d0 Simplify configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 02:09:52 +02:00
Michael Mayer
f713a44668 Dockerfiles: Remove unused ports #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:56:07 +02:00
Michael Mayer
0b1bcf0d4a Replace TiDB with SQLite for improved stability #66
As a side effect, we need less configuration values.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:52:47 +02:00
Michael Mayer
6f6e3799dc Refactor download urls and client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:38:40 +02:00
Michael Mayer
4f4e19bd89 Docker: Upgrade Go to 1.14.3
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:14:23 +02:00
Michael Mayer
e61dda495a Add PHOTOPRISM_SIDECAR_HIDDEN and PHOTOPRISM_JPEG_HIDDEN flags #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:00:17 +02:00
Michael Mayer
950b6440be Docker: Add PHOTOPRISM_SIDECAR_YAML to docker-compose.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:29:10 +02:00
Michael Mayer
d511a5c10a Fix example docker-compose.yml files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 22:39:43 +02:00
Michael Mayer
011fda39af Docker: Add PHOTOPRISM_SIDECAR_JSON to example config #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 20:59:28 +02:00
Michael Mayer
2ca1ff6701 Docker: Enable JSON sidecar files on demo.photoprism.org #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 20:56:25 +02:00
Michael Mayer
556a0dd38b Docker: Start mysqld with --innodb-rollback-on-timeout=ON and --innodb-lock-wait-timeout=120
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 22:18:01 +02:00
Michael Mayer
252e67ce03 Add photo_count column to labels table
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 11:00:22 +02:00
Michael Mayer
397f976dd9 Disable PHOTOPRISM_DETECT_NSFW in docker-compose.yml #296
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 09:34:07 +02:00
Michael Mayer
9b643c830f Add template settings; remove twitter config value
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 18:26:44 +02:00
Michael Mayer
a886ad7942 Improve naming of thumbnail config values #294
Reverted PHOTOPRISM_RESAMPLE_FILTER back to PHOTOPRISM_THUMB_FILTER so that nothing breaks.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:17:19 +02:00
Michael Mayer
14fc9cd374 Revert and improve naming of thumbnail config values #294
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:04:13 +02:00
Michael Mayer
1c53a565a7 Configure on-demand rendering of regular thumbnail sizes #294
Can be enabled by setting PHOTOPRISM_RESAMPLE_UNCACHED to true

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 15:42:54 +02:00
Michael Mayer
8612e22a40 Config: Update docker-compose.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 00:57:25 +02:00
Michael Mayer
8318ab8983 Config: Rename "sql" / "internal" to "tidb" for more clarity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 22:49:02 +02:00
Michael Mayer
47f53fd4b2 Fix Dockerfile for ARM64 2020-04-28 21:30:17 +02:00
Michael Mayer
ba396952a8 Update Dockerfiles and set default SQL port to 2343 2020-04-28 21:10:31 +02:00
Michael Mayer
655eb0456a Fix .tf_configure.bazelrc for ARM64 2020-04-28 12:42:29 +02:00
Michael Mayer
deaf33ff26 Fix TensorFlow build environment for ARM64 2020-04-28 12:27:19 +02:00
Michael Mayer
4f05fde794 Update build environments 2020-04-28 11:51:42 +02:00
Michael Mayer
c4d7850228 TensorFlow: Set version to 1.15.2 2020-04-27 20:22:55 +02:00
Michael Mayer
fe6d46ea5f Upgrade TensorFlow to 1.15.2 without AVX #289
Custom TensorFlow build without SSE4.1 SSE4.2 AVX AVX2 FMA support.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 19:00:15 +02:00
Michael Mayer
01c7fd3fd3 Enabled PHOTOPRISM_DETECT_NSFW for our demo
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 21:27:16 +02:00
Michael Mayer
8609ab805f Automatically set private flag if detect-nsfw is enabled
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 20:28:16 +02:00
Michael Mayer
577a30e303 docker-compose.yml: Upgrade MariaDB and add docs / examples
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 18:22:25 +02:00
Michael Mayer
da823a8062 Upgrade TensorFlow to 1.15.0 #282
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 10:27:02 +02:00
Michael Mayer
12a44cc023 Upgrade Go to 1.14.2
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 23:48:36 +02:00
Michael Mayer
96cf1438df Docker: Update example docker-compose.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 18:19:10 +02:00
Michael Mayer
f9127dd46b Docker: Update example docker-compose.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 18:08:34 +02:00
Michael Mayer
a393a25e01 Backend: Remove export path to avoid confusion #276
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 23:04:52 +02:00
Michael Mayer
087c56e371 Sync: Download to temp path #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 16:34:29 +02:00
Michael Mayer
42ce669bf3 Dockerfiles: Set PHOTOPRISM_CONFIG_PATH
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 22:59:21 +01:00
Michael Mayer
ad8d85649d Dockerfiles: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 17:44:07 +01:00
Michael Mayer
b86f68c3f3 Backend: Add WebDAV client and dummy test server #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-27 11:01:41 +01:00
Michael Mayer
80e083106d Demo: Fix path in Dockerfile
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-23 21:46:14 +01:00
Michael Mayer
a1706a5922 Backend: Upgrade & improve Dockerfiles #263
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-23 20:29:31 +01:00
Michael Mayer
a660bc0471 Docker: Remove unnecessary dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 00:17:54 +01:00
Michael Mayer
1c934d48d3 Add ffmpeg and improve UX
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-03 23:40:45 +01:00
Simen Eriksen
78d7165b0f
Make aware that bcrypt is supported in dockerfile (#238) 2020-02-02 11:13:36 +01:00
Michael Mayer
a69c8677fa Update testdata.zip
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-26 10:36:27 +01:00
Michael Mayer
549f985ee4 Docker: Add download link to arm64 docs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-21 18:14:06 +01:00
Michael Mayer
9d198b438b Docker: Improve arm64 docs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-21 18:07:04 +01:00
Michael Mayer
c2c1047343
Docs: Update Raspberry Pi instructions 2020-01-20 17:12:51 +01:00
Michael Mayer
cb35889c85 Docker: Add package management tools #109
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-20 05:55:42 +01:00
Michael Mayer
1f4dc66df6 Docker: Downgrade darktable-cli to 3.0.0 #109
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-20 01:18:36 +01:00
Michael Mayer
45bdb67368 Docker: Upgrade NodeJS to 12.x #109
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-20 00:08:01 +01:00
Michael Mayer
f99bcb0bdf Docker: Refactor directory structure for ARM64 #109
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-19 23:28:59 +01:00
Guy Sheffer
6e5be73f9c Add 64bit Docker image for Raspberry Pi #109 (PR #207)
* Inital work for raspberrypi arm64 docker container #109

* Add aarch64 docker container to build tensorflow

* Add tensorflow for aarch64

* Add docker compose for raspberrypi running on 64bit kernel
2020-01-19 21:30:44 +01:00
Michael Mayer
64a16a27b0 Backend: Upgrade darktable and don't run more than one command at once #202
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-17 01:37:06 +01:00
Guy Sheffer
a4014ba560 Docker: Fix path, because files are in the same folder (#200) 2020-01-15 19:54:33 +01:00
Michael Mayer
f41b46b644 Docker: Upgrade Go to 1.13.6 #109
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 23:32:50 +01:00
Michael Mayer
74a14e265f Backend: Rename "thumb-algorithm" to "thumb-filter" #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 13:46:05 +01:00
Michael Mayer
ac7382971d Backend: Add blackman resample filter and set default to cubic #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 12:25:16 +01:00
Michael Mayer
6da8bd098a Backend: Add support for new Places API #173
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-31 07:16:11 +01:00
Michael Mayer
7d5bc0619e Add "experimental" feature flag #152 #153 #154
Use this flag to test new features before they are stable.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-30 12:38:11 +01:00
Michael Mayer
2dbe95c7d4 Docker: Allow NSFW uploads in docker-compose.yml #168
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 09:59:23 +01:00
Michael Mayer
76961db04b Add PHOTOPRISM_ADMIN_PASSWORD to example docker-compose.yml #161
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 12:20:15 +01:00
Michael Mayer
78eae2f14e Backend: Add NSFW detector
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 15:41:37 +01:00
Michael Mayer
18bdad246f Docker: Remove special characters from config-compose.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 15:07:56 +01:00
Michael Mayer
dac272468e Sharing: Render preview image & site info
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 14:10:20 +01:00
Michael Mayer
cdb7134b80 Frontend: Use public flag to disable auth #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-11 22:14:34 +01:00
Michael Mayer
a48cc3578e Upgrade Go to 1.13.4
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-07 15:02:27 +01:00
Michael Mayer
8f145ce9a9 Dockerfile: Upgrade to Go 1.13
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 09:26:08 -07:00
Michael Mayer
bdb24d2600 Dockerfile: Revert back to basic version of TensorFlow lib #128
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-08-18 14:20:32 +02:00
Michael Mayer
37428df8ba Upgrade Go to 1.12.7 and use TensorFlow lib with AVX2 support 2019-07-15 20:41:27 +02:00
Michael Mayer
772251ca0d Revert extended names for imported files and fix related test #56 2019-07-02 22:09:06 +02:00
Michael Mayer
abe1ce4265 Fix photoprism/demo Dockerfile (mkdir not needed anymore) 2019-06-30 00:20:06 +02:00
Michael Mayer
5e37cd54fc Update Docker images: new directory structure 2019-06-29 23:27:42 +02:00
Michael Mayer
7981bf6d82 Fix Makefile for building TF on Linux #83 2019-06-27 11:25:14 +02:00
Michael Mayer
852d13797a Improve to TF build image and scripts incl AVX2 support #83 2019-06-27 03:22:09 +02:00
Michael Mayer
d4ff0849b0 Upgrade to TF 1.14.0 with AVX support #83 2019-06-26 05:05:12 +02:00
Michael Mayer
dd0f2b75ce Fix Makefile for tensorflow build image #83 2019-06-26 02:47:27 +02:00
Michael Mayer
f2b6cf169d Rename libtensorflow-linux-x86_64-avx to libtensorflow-linux-avx #83 2019-06-26 00:27:05 +02:00
Michael Mayer
0756167115 TensorFlow: Use tmp/ instead of archive/ as temp path #83 2019-06-26 00:17:10 +02:00
Michael Mayer
84aefc1272 Add Makefile & config to TensorFlow 1.14.0 build image #83 2019-06-25 23:08:53 +02:00
Michael Mayer
ec518628c8 Build TensorFlow v1.13.1 in Docker container #83 2019-06-23 03:21:12 +02:00
Michael Mayer
ff3a58ddf8 Upgrade to Go 1.12.6; add chromedriver via NPM 2019-06-17 22:39:32 +02:00
Michael Mayer
b05e77cb10 Fix "install-assets" target in Makefile 2019-06-06 16:40:32 +02:00
Michael Mayer
5bd85e694d Set DEBIAN_FRONTEND=noninteractive to fix master build 2019-06-06 15:42:23 +02:00
Michael Mayer
aab504ffd6 Initial support for HEIF image files incl improved tests & example files 2019-06-06 14:44:35 +02:00
Michael Mayer
a6131eeddd Move all config files to assets/config and resources to assets/resources 2019-06-05 18:25:20 +02:00
Michael Mayer
a38fe29953 Colorize go test output using kyoh86/richgo 2019-06-03 16:31:15 +02:00
Michael Mayer
ca7d7a8faf Docker: Code clean-up 2019-05-28 01:15:52 +02:00
Michael Mayer
706b9d4fd2 Docker: Fix docker-compose.travis.yml 2019-05-20 16:57:33 +02:00
Michael Mayer
d26f7fb0dc Docker: Add testcafe and firefox to development image; change mysql port 2019-05-20 16:39:41 +02:00
Michael Mayer
8124a8cde1 Use label rules to optimize image classification 2019-05-16 08:41:16 +02:00
Michael Mayer
dc4536b249 Improve thumbnail rendering and indexing performance 2019-05-13 18:01:50 +02:00
Michael Mayer
a612609854 Thumbnail cache warm-up for demo 2019-05-09 07:48:41 +02:00
Michael Mayer
c5e2783b8d Upgrade Go to 1.12.5, improve Makefile and add chromium-browser 2019-05-09 06:18:22 +02:00
Michael Mayer
940e2a69f9 Upgrade Webpack and JS dependencies 2019-05-07 15:41:33 +02:00
Michael Mayer
53a5d84653 Switch from yarn to npm and other frontend improvements, see #3
See https://iamturns.com/yarn-vs-npm-2018/
2019-05-07 02:05:01 +02:00
Michael Mayer
3389b5115e Use hash to keep TensorFlow model up to date 2019-05-04 00:53:02 +02:00
Michael Mayer
7f41d80a1d Upgrade docker container image to 20190501 2019-05-01 17:49:49 +02:00
Michael Mayer
818019a7ec Use nasnet mobile instead of inception v1 for image classification 2019-04-30 13:17:01 +02:00
Michael Mayer
c157020dca Docker: Upgraded Go, TensorFlow and TiDB 2019-04-18 06:33:34 +02:00
Michael Mayer
7d2b146af5 Revert TensorFlow back to CPU because of missing dependencies #80 2018-12-19 01:51:43 +01:00
Michael Mayer
2ee2abefed Deploy new demo when develop is merged to master #80 2018-12-19 01:39:42 +01:00
Michael Mayer
6ecc33afb2 Fix for TensorFlow cpu_feature_guard warning #80
2018-12-18 23:57:30.817796: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-12-19 01:33:47 +01:00
Michael Mayer
d575e8fcc9 Add photos to demo Dockerfile #80 2018-12-19 00:24:02 +01:00
Michael Mayer
ca0d654cad Add ca-certificates to Dockerfile #80 2018-12-18 19:40:14 +01:00
Michael Mayer
43b860801c Proof-of-concept for using TiDB instead of MySQL #60 2018-12-18 18:38:30 +01:00
Michael Mayer
bf69668235 Update Dockerfile for public demo #69 2018-12-11 09:12:31 +01:00
Michael Mayer
46476bc8b0 Add Dockerfile for public demo #69 2018-12-11 02:00:41 +01:00
Michael Mayer
edc7c2f027 Move docker-compose.yml to /docker/photoprism for consistency #62 2018-11-12 07:03:36 +01:00
Michael Mayer
c5ee0fee48 Add darktable development docker image #62
- Improved build scripts and Dockerfile
- broadwayd can be used as display server for darktable or other GTK based software
2018-11-12 06:58:39 +01:00
Michael Mayer
18f88b8a2f Attempt reduce build / test times with travis cache #58 2018-11-09 10:56:52 +01:00
Michael Mayer
7c559a21ab Updated dependencies #39 2018-11-08 20:29:16 +01:00
Michael Mayer
133c7964ad Add tensorflow model and test file to development image #39 2018-11-08 16:41:14 +01:00
Michael Mayer
ac31141669 Smaller docker images with multi-stage build #39 2018-11-08 10:56:11 +01:00