From 6924d4987e126f38dd9059f10dca5d7a06f9ca17 Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Sat, 23 Mar 2024 12:48:10 +0800 Subject: [PATCH 1/8] feat: update shell script and version.txt --- .../community/airflow/app/airflow-2.8.3.yaml | 283 ++++++++++++++++++ .../updater/community/airflow/update.sh | 96 ++++++ .../updater/community/airflow/versions.txt | 39 +++ 3 files changed, 418 insertions(+) create mode 100644 google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml create mode 100644 google/fingerprinters/web/scripts/updater/community/airflow/update.sh create mode 100644 google/fingerprinters/web/scripts/updater/community/airflow/versions.txt diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml b/google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml new file mode 100644 index 000000000..461de6b43 --- /dev/null +++ b/google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml @@ -0,0 +1,283 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# Basic Airflow cluster configuration for CeleryExecutor with Redis and PostgreSQL. +# +# WARNING: This configuration is for local development. Do not use it in a production deployment. +# +# This configuration supports basic configuration using environment variables or an .env file +# The following variables are supported: +# +# AIRFLOW_IMAGE_NAME - Docker image name used to run Airflow. +# Default: apache/airflow:2.8.3 +# AIRFLOW_UID - User ID in Airflow containers +# Default: 50000 +# AIRFLOW_PROJ_DIR - Base path to which all the files will be volumed. +# Default: . +# Those configurations are useful mostly in case of standalone testing/running Airflow in test/try-out mode +# +# _AIRFLOW_WWW_USER_USERNAME - Username for the administrator account (if requested). +# Default: airflow +# _AIRFLOW_WWW_USER_PASSWORD - Password for the administrator account (if requested). +# Default: airflow +# _PIP_ADDITIONAL_REQUIREMENTS - Additional PIP requirements to add when starting all containers. +# Use this option ONLY for quick checks. Installing requirements at container +# startup is done EVERY TIME the service is started. +# A better way is to build a custom image or extend the official image +# as described in https://airflow.apache.org/docs/docker-stack/build.html. +# Default: '' +# +# Feel free to modify this file to suit your needs. +--- +x-airflow-common: + &airflow-common + # In order to add custom dependencies or upgrade provider packages you can use your extended image. + # Comment the image line, place your Dockerfile in the directory where you placed the docker-compose.yaml + # and uncomment the "build" line below, Then run `docker-compose build` to build the images. + image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.8.3} + # build: . + environment: + &airflow-common-env + AIRFLOW__CORE__EXECUTOR: CeleryExecutor + AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow + AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow + AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 + AIRFLOW__CORE__FERNET_KEY: '' + AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' + AIRFLOW__CORE__LOAD_EXAMPLES: 'true' + AIRFLOW__API__AUTH_BACKENDS: 'airflow.api.auth.backend.basic_auth,airflow.api.auth.backend.session' + # yamllint disable rule:line-length + # Use simple http server on scheduler for health checks + # See https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/check-health.html#scheduler-health-check-server + # yamllint enable rule:line-length + AIRFLOW__SCHEDULER__ENABLE_HEALTH_CHECK: 'true' + # WARNING: Use _PIP_ADDITIONAL_REQUIREMENTS option ONLY for a quick checks + # for other purpose (development, test and especially production usage) build/extend Airflow image. + _PIP_ADDITIONAL_REQUIREMENTS: ${_PIP_ADDITIONAL_REQUIREMENTS:-} + volumes: + - ${AIRFLOW_PROJ_DIR:-.}/dags:/opt/airflow/dags + - ${AIRFLOW_PROJ_DIR:-.}/logs:/opt/airflow/logs + - ${AIRFLOW_PROJ_DIR:-.}/config:/opt/airflow/config + - ${AIRFLOW_PROJ_DIR:-.}/plugins:/opt/airflow/plugins + user: "${AIRFLOW_UID:-50000}:0" + depends_on: + &airflow-common-depends-on + redis: + condition: service_healthy + postgres: + condition: service_healthy + +services: + postgres: + image: postgres:13 + environment: + POSTGRES_USER: airflow + POSTGRES_PASSWORD: airflow + POSTGRES_DB: airflow + volumes: + - postgres-db-volume:/var/lib/postgresql/data + healthcheck: + test: ["CMD", "pg_isready", "-U", "airflow"] + interval: 10s + retries: 5 + start_period: 5s + restart: always + + redis: + image: redis:latest + expose: + - 6379 + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 30s + retries: 50 + start_period: 30s + restart: always + + airflow-webserver: + <<: *airflow-common + command: webserver + ports: + - "8080:8080" + healthcheck: + test: ["CMD", "curl", "--fail", "http://localhost:8080/health"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + restart: always + depends_on: + <<: *airflow-common-depends-on + airflow-init: + condition: service_completed_successfully + + airflow-scheduler: + <<: *airflow-common + command: scheduler + healthcheck: + test: ["CMD", "curl", "--fail", "http://localhost:8974/health"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + restart: always + depends_on: + <<: *airflow-common-depends-on + airflow-init: + condition: service_completed_successfully + + airflow-worker: + <<: *airflow-common + command: celery worker + healthcheck: + # yamllint disable rule:line-length + test: + - "CMD-SHELL" + - 'celery --app airflow.providers.celery.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}" || celery --app airflow.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}"' + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + environment: + <<: *airflow-common-env + # Required to handle warm shutdown of the celery workers properly + # See https://airflow.apache.org/docs/docker-stack/entrypoint.html#signal-propagation + DUMB_INIT_SETSID: "0" + restart: always + depends_on: + <<: *airflow-common-depends-on + airflow-init: + condition: service_completed_successfully + + airflow-triggerer: + <<: *airflow-common + command: triggerer + healthcheck: + test: ["CMD-SHELL", 'airflow jobs check --job-type TriggererJob --hostname "$${HOSTNAME}"'] + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + restart: always + depends_on: + <<: *airflow-common-depends-on + airflow-init: + condition: service_completed_successfully + + airflow-init: + <<: *airflow-common + entrypoint: /bin/bash + # yamllint disable rule:line-length + command: + - -c + - | + if [[ -z "${AIRFLOW_UID}" ]]; then + echo + echo -e "\033[1;33mWARNING!!!: AIRFLOW_UID not set!\e[0m" + echo "If you are on Linux, you SHOULD follow the instructions below to set " + echo "AIRFLOW_UID environment variable, otherwise files will be owned by root." + echo "For other operating systems you can get rid of the warning with manually created .env file:" + echo " See: https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html#setting-the-right-airflow-user" + echo + fi + one_meg=1048576 + mem_available=$$(($$(getconf _PHYS_PAGES) * $$(getconf PAGE_SIZE) / one_meg)) + cpus_available=$$(grep -cE 'cpu[0-9]+' /proc/stat) + disk_available=$$(df / | tail -1 | awk '{print $$4}') + warning_resources="false" + if (( mem_available < 4000 )) ; then + echo + echo -e "\033[1;33mWARNING!!!: Not enough memory available for Docker.\e[0m" + echo "At least 4GB of memory required. You have $$(numfmt --to iec $$((mem_available * one_meg)))" + echo + warning_resources="true" + fi + if (( cpus_available < 2 )); then + echo + echo -e "\033[1;33mWARNING!!!: Not enough CPUS available for Docker.\e[0m" + echo "At least 2 CPUs recommended. You have $${cpus_available}" + echo + warning_resources="true" + fi + if (( disk_available < one_meg * 10 )); then + echo + echo -e "\033[1;33mWARNING!!!: Not enough Disk space available for Docker.\e[0m" + echo "At least 10 GBs recommended. You have $$(numfmt --to iec $$((disk_available * 1024 )))" + echo + warning_resources="true" + fi + if [[ $${warning_resources} == "true" ]]; then + echo + echo -e "\033[1;33mWARNING!!!: You have not enough resources to run Airflow (see above)!\e[0m" + echo "Please follow the instructions to increase amount of resources available:" + echo " https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html#before-you-begin" + echo + fi + mkdir -p /sources/logs /sources/dags /sources/plugins + chown -R "${AIRFLOW_UID}:0" /sources/{logs,dags,plugins} + exec /entrypoint airflow version + # yamllint enable rule:line-length + environment: + <<: *airflow-common-env + _AIRFLOW_DB_MIGRATE: 'true' + _AIRFLOW_WWW_USER_CREATE: 'true' + _AIRFLOW_WWW_USER_USERNAME: ${_AIRFLOW_WWW_USER_USERNAME:-airflow} + _AIRFLOW_WWW_USER_PASSWORD: ${_AIRFLOW_WWW_USER_PASSWORD:-airflow} + _PIP_ADDITIONAL_REQUIREMENTS: '' + user: "0:0" + volumes: + - ${AIRFLOW_PROJ_DIR:-.}:/sources + + airflow-cli: + <<: *airflow-common + profiles: + - debug + environment: + <<: *airflow-common-env + CONNECTION_CHECK_MAX_COUNT: "0" + # Workaround for entrypoint issue. See: https://github.com/apache/airflow/issues/16252 + command: + - bash + - -c + - airflow + + # You can enable flower by adding "--profile flower" option e.g. docker-compose --profile flower up + # or by explicitly targeted on the command line e.g. docker-compose up flower. + # See: https://docs.docker.com/compose/profiles/ + flower: + <<: *airflow-common + command: celery flower + profiles: + - flower + ports: + - "5555:5555" + healthcheck: + test: ["CMD", "curl", "--fail", "http://localhost:5555/"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + restart: always + depends_on: + <<: *airflow-common-depends-on + airflow-init: + condition: service_completed_successfully + +volumes: + postgres-db-volume: diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/update.sh b/google/fingerprinters/web/scripts/updater/community/airflow/update.sh new file mode 100644 index 000000000..23b01f01a --- /dev/null +++ b/google/fingerprinters/web/scripts/updater/community/airflow/update.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -e + +source ../../common.sh + +SCRIPT_PATH="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)" +# Root path to the web fingerprinter plugin. +PROJECT_ROOT="$(cd -- "${SCRIPT_PATH}/../../../.." >/dev/null 2>&1 ; pwd -P)" +# Path to the configurations for starting a live instance of Airflow. +APP_PATH="${SCRIPT_PATH}/app" +# Path to the temporary data holder. +TMP_DATA="/root/airflow_fingerprints" +# Path to the local git repository for Airflow codebase. +GIT_REPO="${TMP_DATA}/repo" +# Path to the directory of all the updated fingerprints data. +FINGERPRINTS_PATH="${TMP_DATA}/fingerprints" +# Json data of the final result. +JSON_DATA="${FINGERPRINTS_PATH}/fingerprint.json" +# Binary proto data of the final result. +BIN_DATA="${FINGERPRINTS_PATH}/fingerprint.binproto" +# Read all the versions to be fingerprinted. +readarray -t ALL_VERSIONS < "${SCRIPT_PATH}/versions.txt" +mkdir -p "${FINGERPRINTS_PATH}" + +startAirflow() { + local version="$1" + pushd "${APP_PATH}" >/dev/null + # add COMPOSE_HTTP_TIMEOUT to avoid docker-compose errors + SOLR_VERSION="${version}" COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml up -d + popd >/dev/null +} + +stopAirflow() { + local version="$1" + pushd "${APP_PATH}" >/dev/null + SOLR_VERSION="${version}" COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml down --volumes --remove-orphans + popd >/dev/null +} + +# Convert the existing data file to a human-readable json file. +convertFingerprint \ + "${PROJECT_ROOT}/src/main/resources/fingerprinters/web/data/community/airflow.binproto" \ + "${JSON_DATA}" + +# Fetch Airflow codebase. +if [[ ! -d "${GIT_REPO}" ]] ; then + git clone https://github.com/apache/airflow.git "${GIT_REPO}" +fi + +# Update for all the versions listed in versions.txt file. +for version in "${ALL_VERSIONS[@]}"; do + echo "Fingerprinting Airflow version ${version} ..." + # Download docker-compose.yaml of each version. + curl -L https://airflow.apache.org/docs/apache-airflow/${version}/docker-compose.yaml -o $APP_PATH/airflow-${version}.yaml + # Start a live instance of Airflow. + startAirflow "${version}" + # Arbitrarily chosen so that Airflow is up and running. + echo "Waiting for Airflow ${version} to be ready ..." + sleep 60 + # No need to do other installation process for Airflow. + + # Checkout the repository to the correct tag. + checkOutRepo "${GIT_REPO}" "${version}" + + updateFingerprint \ + "airflow" \ + "${version}" \ + "${FINGERPRINTS_PATH}" \ + "${GIT_REPO}" \ + "http://localhost:8080" + + # Stop the live instance of Airflow. + stopAirflow "${version}" +done + +convertFingerprint "${JSON_DATA}" "${BIN_DATA}" + +echo "Fingerprint updated for Airflow. Please commit the following file:" +echo " ${BIN_DATA}" + + diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt b/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt new file mode 100644 index 000000000..c30693872 --- /dev/null +++ b/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt @@ -0,0 +1,39 @@ +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0 From 6815dea25ecded3c32b35fce562591f626a1d57b Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Sat, 23 Mar 2024 12:51:49 +0800 Subject: [PATCH 2/8] feat: update .binproto --- .../web/data/community/airflow.binproto | 2657 +++++++++++++++++ 1 file changed, 2657 insertions(+) create mode 100644 google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto diff --git a/google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto b/google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto new file mode 100644 index 000000000..efb945efe --- /dev/null +++ b/google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto @@ -0,0 +1,2657 @@ + + +airflow^ +8static/dist/airflowDefaultTheme.c19bf634a906347cf1a0.css" + 7ec48ba6cf8e0da2794eea814716f908X +2static/dist/materialIcons.f9559e4953177b8b9a4a.css" + 6a5cf061713bc440a736368163188d76 +"static/appbuilder/js/ab_filters.js" + 74144ee417aadc310d896041e6587e92" + dcd68d71656b8682d494d45bb1b1d0dd" + f2893426e1d9833d278285d1b4ab6f00" + 814ad04f26a6a78ad0c37349739aa574" + b3ecc15d7dfbea6143d342a262d6ea21" + 9977922fd9659a1d9fde6c7f401daa5b" + a2d1aa28848b92791b1aa38262c55e88[ +5static/appbuilder/datepicker/bootstrap-datepicker.css" + 582d3181dba9c37f7860710244393e8eN +(static/dist/main.d6649b884746315637be.js" + 06c544de1025c42f685b80896dfe615a +%static/appbuilder/js/jquery-latest.js" + d6de181c1ee3791ea45e3fbdf389fe55" + 72a7f671a4f9e51d3256ea9ad9e3514f" + a8222f5cfec7f13c0d4fe26e88b452b0^ +8static/dist/airflowDefaultTheme.fd803ddb438e3d518eb3.css" + 2a36dc5b58c5b05ffb14214d54cb887fN +(static/dist/main.0b3299d0b0db1076c096.js" + 4c585872f4045fb240844f8cd47199e0P +*static/dist/moment.805846635248ee428644.js" + 33531a4d086c6477be55a8820e4ddfb9O +)static/dist/main.c76c4a9850bda3fb5599.css" + 58d2c2ce24439ff4e80e9197751fbbeeN +(static/dist/main.ec58b0ff6b26d248d142.js" + 00b600a312f0d6342ea50bae1061e3f1P +*static/dist/moment.c61e3ab5bc7680097402.js" + 8b2eef2d6a791b1955d27f4728aad10bN +(static/dist/main.9a020ab96cfff52e09fb.js" + 123b48df6cc249acb1a7aaacf50cba6cP +*static/dist/flash.5adc3a4998ff394d2a3e.css" + 61d629a3277f4159129ee6e27c9d25b2V +0static/dist/loadingDots.d58d573e7e3fd22bcfc6.css" + 27bcf2a4eee3bdcfdb0b03f3ef79c4adP +*static/dist/flash.39f43f5a4fffad4cd720.css" + 8c698c36f86b858e5edbd79bc1e9799cX +2static/dist/materialIcons.542fbb9fa8b5a2ec811b.css" + 6a5cf061713bc440a736368163188d76X +2static/dist/materialIcons.7310810fa0ee22536071.css" + 6a5cf061713bc440a736368163188d76O +)static/dist/main.0b3299d0b0db1076c096.css" + 1f369178e63ecf1c7228ec97acbe9a2bP +*static/appbuilder/css/font-awesome.min.css" + 589e24c189b18e7e92667246936513e1P +*static/dist/flash.7fb10b5a80aea0a37122.css" + 61d629a3277f4159129ee6e27c9d25b2Q ++static/appbuilder/js/select2/select2.min.js" + 383cd3a04454b72cb2ed7baaf3845ebcO +)static/dist/main.7c8f9340325b929761a0.css" + 033045ec62f60a11d68307d0965275ebN +(static/dist/main.255b39340a749864c22a.js" + 1c071388475e5d34319b4b6f456bec60N +(static/dist/main.c76c4a9850bda3fb5599.js" + f16e815edfddb662d578e5e413a9885aX +2static/dist/materialIcons.087c3315826ce743dc8d.css" + 6a5cf061713bc440a736368163188d76X +2static/dist/materialIcons.b5be025c4c658382069b.css" + 6a5cf061713bc440a736368163188d76O +)static/dist/main.e52cf607b64cdcd15089.css" + d3edf253616b51dec9371ba6c8c1946d +'static/dist/bootstrap3-typeahead.min.js" + f86226b966de712b24d1772195fb9482" + 84dda4b845b768f63084be203d54db93" + c55eca542a4598b5f26c8b777852fdedP +*static/dist/flash.82c9e653b17d76b0b572.css" + f25cdcdd43d8f815c82f22ceeadd76aaV +0static/dist/loadingDots.5da42d00b5455806e709.css" + 27bcf2a4eee3bdcfdb0b03f3ef79c4adn +Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css" + d91a504980d503f5a97e0f795bc7059eq +'static/appbuilder/css/flags/flags16.css" + 163ceda19d640c9636e25216356212ad" + c0ed5753f6e056b261b63ee5c2fb6514o +%static/appbuilder/select2/select2.css" + e80f0fcf36346801eeda8509dcf54e5a" + 8fc023ad64861b58b154089c33de2065P +*static/dist/moment.c1933ee062e9650051f7.js" + 1daacbf407af4369f7770154d3b0174fO +)static/dist/main.1752c6e8005878f87b5e.css" + 8eb9532b0b9bde86323cc7a21e07c370 +static/appbuilder/css/ab.css" + 01ecf28c115d206c6c14586b074671e5" + b764048d1982806cb753c798853c829d" + fe613a88bf5477073ff5ea9d27c86760P +*static/dist/flash.d2167ed6d99f8d7833ef.css" + f25cdcdd43d8f815c82f22ceeadd76aaO +)static/dist/main.255b39340a749864c22a.css" + aba90e2e1a3f359bf11241ff0983e01b +,static/dist/bootstrap-datetimepicker.min.css" + 290df06b00f38ac4b62000e181566917" + 3862b83990c3ecaaf9b8a8dd45f3fee9" + 1e98719a524ce71c746517645b77aaa5V +0static/dist/loadingDots.37c7fd200eafd0c27df7.css" + 27bcf2a4eee3bdcfdb0b03f3ef79c4adO +)static/dist/main.7482f675ad7c97dc7702.css" + ad767bf5daa820f1aae5c70f3bfbda0dN +(static/dist/main.527e9326c35043674708.js" + b4abc9bcc7974e25cb7090e05aa88fbe +confirm" + 64bb6c5e010709bd13782edddc0f3206" + cc5ba07f68ddce621b4a844d7c86df5e" + 573b6e76f80c13565355cf423c51602a" + 714b6bef9ce826ec0611a7ad579efae0" + 2258108cb3c273c1abc8716d4f54fdc1" + 883476f595c58d190ec6a4047de33530O +)static/dist/main.a02ab09a012af15327d8.css" + 2388345c822d79757b4ab5ee1f39d9c3O +)static/dist/main.6f9728400381098372e3.css" + eda89148bdd5e0a11f99557cc5b0943bO +)static/dist/main.c6ddfe9182894d4d9d8d.css" + a7f630d0a5b4ffed3862498c8ba76592N +(static/dist/main.a53ccbaa4ca384c91837.js" + 6326b461dab6894b1893e0f5ca54f07aP +*static/dist/moment.fad363e66ff398a6fbf3.js" + 1f0b461b6b441e43279fa7e6beeabc50y +/static/appbuilder/css/fontawesome/solid.min.css" + ad372c4e8b277cee9ffb5a342ab9618a" + 04eea7ad3395e96d6bd4a43e64048ac0O +)static/dist/main.4326607f6e6a434600a7.css" + aecfd839bc51ac88c092ac68f7375d20O +)static/dist/main.da956f078ba1725e3daf.css" + 1f369178e63ecf1c7228ec97acbe9a2b +static/appbuilder/js/ab.js" + aad12c6f56d7bb26d7cf25f8ddec911b" + 7832a44c4160360a9d55f1234bc4af03" + 448454a92aefd52c3b8ed1941e669209" + a553cece457b2a592bf58e0416f42171" + c6f68feb31ea40e8d35a1bdbe672f354N +(static/dist/main.795f05be1714e3254570.js" + b8dee7871e22bc45554dbc201885b574k +Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js" + ce524b7a84d22eaca558822c6b260687[ +5static/appbuilder/select2/select2-bootstrap-theme.css" + 90a7f3f8ce22fc33ddd2a1101642aa0bP +*static/dist/flash.2b1a873e0aabc828a165.css" + 61d629a3277f4159129ee6e27c9d25b2S +-static/appbuilder/css/select2/select2.min.css" + 6383020b3548e9cfcc82f1bf609a968bP +*static/dist/moment.c42e4c391a00d2899c5c.js" + 43781e44ba946faa49fd925e223d1ce1] +7static/appbuilder/css/select2/select2-bootstrap.min.css" + 90a7f3f8ce22fc33ddd2a1101642aa0b ++static/dist/bootstrap-datetimepicker.min.js" + d078fa2acac80591b63741c6cddf0163" + a6cf07e56ff0fdf9aef4972c82b5916b" + 86c551b382867bf234b7b75fe0c8a74c" + 7b96ade8af36874c83365352e639531d" + cce406db8272fc9dde3737c4350fadd1P +*static/dist/flash.abc94ba72cd821e27f31.css" + 61d629a3277f4159129ee6e27c9d25b2^ +8static/dist/airflowDefaultTheme.3e8bda71892b61b62f94.css" + 315bbe6824f586b49f2b803b067baeb1^ +8static/dist/airflowDefaultTheme.42f8d9f03e53e5b06087.css" + 7ec48ba6cf8e0da2794eea814716f908X +2static/appbuilder/css/fontawesome/v4-shims.min.css" + 5c8823187714a8cc3474782acf989c4aV +0static/dist/loadingDots.4bccfb4c41b26eefcf1c.css" + 6036059bd0d6736469d7678989dde978O +)static/dist/main.d6649b884746315637be.css" + 8eb9532b0b9bde86323cc7a21e07c370Z +4static/appbuilder/datepicker/bootstrap-datepicker.js" + d2c4f7d3876b83145cf4df68ce8a72ecO +)static/dist/main.a53ccbaa4ca384c91837.css" + aba90e2e1a3f359bf11241ff0983e01bN +(static/dist/main.e52cf607b64cdcd15089.js" + 0a703328e9f1bef59839282e04a977a6X +2static/dist/materialIcons.c86800f70eece0ad5c3e.css" + 35462396579d3bda4db6f79eb689d4dbN +(static/dist/main.a02ab09a012af15327d8.js" + 49c428e499aa36fa1d48f7f72bb7fe13P +*static/dist/flash.a58a9322159cd5cd08c3.css" + 8c698c36f86b858e5edbd79bc1e9799c^ +8static/dist/airflowDefaultTheme.c70a0986eb5cd4851faa.css" + 2a36dc5b58c5b05ffb14214d54cb887fP +*static/dist/moment.e5f820b9b99df22a8206.js" + 3336a688f7fa86f866b7af782bd43276V +0static/dist/loadingDots.84963375c34df3f17aab.css" + 27bcf2a4eee3bdcfdb0b03f3ef79c4adr +(static/dist/main.bde72ea87585ebc44fe9.js" + f974940d669a9198f5183b441e36981b" + 4f79c5e47de4b2211a237034f72c63f3P +*static/dist/flash.d205b61edc54ed448412.css" + 06e544a86c0fc43c89bd1eae320057c7^ +8static/dist/airflowDefaultTheme.731e57571b52cca4350d.css" + 493417b6d552d7505685c925a1370b8e{ +1static/appbuilder/css/fontawesome/regular.min.css" + 8affbd9d23b61f3e78c748cf752d8fab" + e21f1e382dc4d68c4ba647765afb0369O +)static/dist/main.9645e1e98ff7a669aff7.css" + eda89148bdd5e0a11f99557cc5b0943bV +0static/dist/loadingDots.36f1f76c70002f18243a.css" + 27bcf2a4eee3bdcfdb0b03f3ef79c4adP +*static/dist/flash.e22a7e35f238b0bc744f.css" + 61d629a3277f4159129ee6e27c9d25b2o +%static/appbuilder/js/bootstrap.min.js" + aa01b9bc0b765a8cb32d66b9d92c5bd8" + b856fe5f606651a03887c94843930354^ +8static/dist/airflowDefaultTheme.c93fb34380b84747e945.css" + 35a9e0341e792d4639de43afa32ba78aP +*static/dist/moment.dae03602a1cb62165b62.js" + a0af07dff99838db072173ba2a90c121X +2static/dist/materialIcons.ce0f77d10d4dc51f5f07.css" + 6a5cf061713bc440a736368163188d76N +(static/dist/main.1752c6e8005878f87b5e.js" + 903e1ea197c2e5546fca258dad806048^ +8static/dist/airflowDefaultTheme.9c52407a4b82b6d0a2da.css" + 35a9e0341e792d4639de43afa32ba78a^ +8static/dist/airflowDefaultTheme.d3d1b0809f936a6f2b56.css" + 493417b6d552d7505685c925a1370b8eV +0static/dist/loadingDots.f9d109f104217ec97cea.css" + 6036059bd0d6736469d7678989dde978O +)static/dist/main.bde72ea87585ebc44fe9.css" + 71b19163a59e66e52370342c813621bft +*static/dist/moment.0fcb6b41ff6a87cf079e.js" + a4cf644a6a883f40a1f67fd17bc93017" + 3fdf1bd73e77bdd043a6fbde0700728bV +0static/dist/loadingDots.4033edd9abf2750d6f8f.css" + 27bcf2a4eee3bdcfdb0b03f3ef79c4adO +)static/dist/main.ec58b0ff6b26d248d142.css" + aecfd839bc51ac88c092ac68f7375d20z +0static/appbuilder/css/fontawesome/brands.min.css" + a8469da629cb1fd1af9ef78e1751d796" + f2df63c28cde1d80b7171ea5c3ea50cel +"static/appbuilder/js/ab_actions.js" + ec4db40dd9287b27e476b3817ade4179" + e47efb285dbeb5153153b7243d0e9642^ +8static/dist/airflowDefaultTheme.ce329611a683ab0c05fd.css" + 315bbe6824f586b49f2b803b067baeb1O +)static/dist/main.9a020ab96cfff52e09fb.css" + ad767bf5daa820f1aae5c70f3bfbda0dN +(static/dist/main.da956f078ba1725e3daf.js" + 8ba30909b8da7afd74489c6d39499138[ +5static/appbuilder/css/fontawesome/fontawesome.min.css" + 5660141a1160968edc60b0767cdd90d0V +0static/dist/loadingDots.1392f729dc9855a280a8.css" + 27bcf2a4eee3bdcfdb0b03f3ef79c4adP +*static/dist/moment.26f1d838a0f59697623d.js" + 7b2985eb524ff5de6c53acda3b5b7ec4N +(static/dist/main.7c8f9340325b929761a0.js" + 737e69c48900d5757196304061957d7eO +)static/dist/main.527e9326c35043674708.css" + ad767bf5daa820f1aae5c70f3bfbda0dX +2static/dist/materialIcons.4f9d67516ebe00c0bbb6.css" + 35462396579d3bda4db6f79eb689d4dbO +)static/dist/main.559baa8766c31899215b.css" + 256c8bbcf8bae1e2cdbec8ad34191ed9N +(static/dist/main.6f9728400381098372e3.js" + 89368864a978718689f72f1de3ee3bd9X +2static/dist/materialIcons.3221294eb511f43d1b15.css" + 6a5cf061713bc440a736368163188d76P +*static/dist/moment.1a09402fe354380806b9.js" + 818a6ccf142b1f46728ccc79106b30e3P +*static/dist/moment.197a6f3cab42e240f8bd.js" + 4aec2a527a719fcacc739af5c1450129M +'static/appbuilder/css/bootstrap.min.css" + aac3da63f60267eac4ef43812790449dN +(static/dist/main.559baa8766c31899215b.js" + 49c428e499aa36fa1d48f7f72bb7fe13N +(static/dist/main.9645e1e98ff7a669aff7.js" + cac3dc4824469d7cab68a5fb96499758N +(static/dist/main.4326607f6e6a434600a7.js" + 43cf951e92fc308700077fc04bb4d507N +(static/dist/main.c6ddfe9182894d4d9d8d.js" + f16e815edfddb662d578e5e413a9885a^ +8static/dist/airflowDefaultTheme.a27149057fd893ed3d09.css" + 35a9e0341e792d4639de43afa32ba78aP +*static/dist/flash.eb8d441e4edaecf40ce7.css" + 99d6845a3a60e63c8890a4f93182425bn +$static/appbuilder/select2/select2.js" + 6b2af8bd67692deaa981668b25aa4bc4" + 03527a0dc02ecb3dde68e0cc600157c9N +(static/dist/main.7482f675ad7c97dc7702.js" + f6c4565173addd0f0cfab9503bac98fe7 +static/pin_32.png" + 31cf27939eac2ff81538e6514f3500f8O +)static/dist/main.795f05be1714e3254570.css" + ad767bf5daa820f1aae5c70f3bfbda0dX +2static/dist/materialIcons.e5d66b6b5f98c05254bf.css" + 6a5cf061713bc440a736368163188d76H +" + ce524b7a84d22eaca558822c6b260687 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +" + 03527a0dc02ecb3dde68e0cc600157c9 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0? +" + dcd68d71656b8682d494d45bb1b1d0dd +2.7.3 +2.7.2 +2.7.1? +" + 1f369178e63ecf1c7228ec97acbe9a2b +2.3.2 +2.3.1 +2.3.0l +" + 6b2af8bd67692deaa981668b25aa4bc4 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0H +" + 163ceda19d640c9636e25216356212ad +2.8.3 +2.8.2 +2.8.1 +2.8.0? +" + 8b2eef2d6a791b1955d27f4728aad10b +2.0.2 +2.0.1 +2.0.0H +" + d91a504980d503f5a97e0f795bc7059e +2.8.3 +2.8.2 +2.8.1 +2.8.06 +" + 43cf951e92fc308700077fc04bb4d507 +2.5.3 +2.5.2H +" + 06e544a86c0fc43c89bd1eae320057c7 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +" + e47efb285dbeb5153153b7243d0e9642 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + 6326b461dab6894b1893e0f5ca54f07a +2.4.3 +2.4.2 +2.4.1 +2.4.0H +" + 3fdf1bd73e77bdd043a6fbde0700728b +2.7.3 +2.7.2 +2.7.1 +2.7.0 +" + 8fc023ad64861b58b154089c33de2065 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0 +" + 5c8823187714a8cc3474782acf989c4a +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +" + c0ed5753f6e056b261b63ee5c2fb6514 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + ad372c4e8b277cee9ffb5a342ab9618a +2.8.3 +2.8.2 +2.8.1 +2.8.0- +" + 737e69c48900d5757196304061957d7e +2.1.0 +" + aac3da63f60267eac4ef43812790449d +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0c +" + a8222f5cfec7f13c0d4fe26e88b452b0 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0 +" + b856fe5f606651a03887c94843930354 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0 +" + 582d3181dba9c37f7860710244393e8e +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0Z +" + a553cece457b2a592bf58e0416f42171 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2- +" + b8dee7871e22bc45554dbc201885b574 +2.7.1H +" + 7ec48ba6cf8e0da2794eea814716f908 +2.1.0 +2.0.2 +2.0.1 +2.0.0? +" + 49c428e499aa36fa1d48f7f72bb7fe13 +2.0.2 +2.0.1 +2.0.0 +" + 84dda4b845b768f63084be203d54db93 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +" + fe613a88bf5477073ff5ea9d27c86760 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0- +" + 43781e44ba946faa49fd925e223d1ce1 +2.3.3H +" + a4cf644a6a883f40a1f67fd17bc93017 +2.8.3 +2.8.2 +2.8.1 +2.8.0- +" + a0af07dff99838db072173ba2a90c121 +2.3.4u +" + 7b96ade8af36874c83365352e639531d +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2H +" + d078fa2acac80591b63741c6cddf0163 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +" + 35a9e0341e792d4639de43afa32ba78a +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0l +" + f2df63c28cde1d80b7171ea5c3ea50ce +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +" + 61d629a3277f4159129ee6e27c9d25b2 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0H +" + 8affbd9d23b61f3e78c748cf752d8fab +2.8.3 +2.8.2 +2.8.1 +2.8.0H +" + aa01b9bc0b765a8cb32d66b9d92c5bd8 +2.8.3 +2.8.2 +2.8.1 +2.8.0H +" + f86226b966de712b24d1772195fb9482 +2.8.3 +2.8.2 +2.8.1 +2.8.0- +" + 3862b83990c3ecaaf9b8a8dd45f3fee9 +2.1.1- +" + 64bb6c5e010709bd13782edddc0f3206 +2.2.5l +" + b764048d1982806cb753c798853c829d +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.06 +" + 8eb9532b0b9bde86323cc7a21e07c370 +2.3.4 +2.3.3H +" + a8469da629cb1fd1af9ef78e1751d796 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +" + 86c551b382867bf234b7b75fe0c8a74c +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3Q +" + 9977922fd9659a1d9fde6c7f401daa5b +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4- +" + 00b600a312f0d6342ea50bae1061e3f1 +2.5.1H +" + 383cd3a04454b72cb2ed7baaf3845ebc +2.8.3 +2.8.2 +2.8.1 +2.8.0 +" + 72a7f671a4f9e51d3256ea9ad9e3514f +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4Q +" + cce406db8272fc9dde3737c4350fadd1 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + f25cdcdd43d8f815c82f22ceeadd76aa +2.1.0 +2.0.2 +2.0.1 +2.0.0- +" + 06c544de1025c42f685b80896dfe615a +2.3.3c +" + a2d1aa28848b92791b1aa38262c55e88 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + aad12c6f56d7bb26d7cf25f8ddec911b +2.8.3 +2.8.2 +2.8.1 +2.8.0 +" + b3ecc15d7dfbea6143d342a262d6ea21 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.46 +" + a7f630d0a5b4ffed3862498c8ba76592 +2.2.1 +2.2.0l +" + e21f1e382dc4d68c4ba647765afb0369 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +" + c55eca542a4598b5f26c8b777852fded +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + 74144ee417aadc310d896041e6587e92 +2.8.3 +2.8.2 +2.8.1 +2.8.0c +" + a6cf07e56ff0fdf9aef4972c82b5916b +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.3.2 +2.3.1 +2.3.0- +" + cc5ba07f68ddce621b4a844d7c86df5e +2.2.4H +" + 35462396579d3bda4db6f79eb689d4db +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + d6de181c1ee3791ea45e3fbdf389fe55 +2.8.3 +2.8.2 +2.8.1 +2.8.0Q +" + aba90e2e1a3f359bf11241ff0983e01b +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0H +" + 01ecf28c115d206c6c14586b074671e5 +2.8.3 +2.8.2 +2.8.1 +2.8.0l +" + e80f0fcf36346801eeda8509dcf54e5a +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0? +" + aecfd839bc51ac88c092ac68f7375d20 +2.5.3 +2.5.2 +2.5.1 +" + 290df06b00f38ac4b62000e181566917 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2- +" + 903e1ea197c2e5546fca258dad806048 +2.3.4 +" + 31cf27939eac2ff81538e6514f3500f8 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + 6036059bd0d6736469d7678989dde978 +2.1.0 +2.0.2 +2.0.1 +2.0.0? +" + 71b19163a59e66e52370342c813621bf +2.8.0 +2.7.3 +2.7.2H +" + 7832a44c4160360a9d55f1234bc4af03 +2.7.3 +2.7.2 +2.7.1 +2.7.06 +" + 814ad04f26a6a78ad0c37349739aa574 +2.6.3 +2.6.2- +" + cac3dc4824469d7cab68a5fb96499758 +2.8.1Z +" + 7b2985eb524ff5de6c53acda3b5b7ec4 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0- +" + 883476f595c58d190ec6a4047de33530 +2.2.0? +" + 2a36dc5b58c5b05ffb14214d54cb887f +2.3.2 +2.3.1 +2.3.0 +" + 6a5cf061713bc440a736368163188d76 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.16 +" + 2388345c822d79757b4ab5ee1f39d9c3 +2.0.2 +2.0.1 +" + 90a7f3f8ce22fc33ddd2a1101642aa0b +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0H +" + 33531a4d086c6477be55a8820e4ddfb9 +2.6.3 +2.6.2 +2.6.1 +2.6.0~ +" + 315bbe6824f586b49f2b803b067baeb1 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1- +" + 123b48df6cc249acb1a7aaacf50cba6c +2.7.0H +" + ec4db40dd9287b27e476b3817ade4179 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +" + 8c698c36f86b858e5edbd79bc1e9799c +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +" + 27bcf2a4eee3bdcfdb0b03f3ef79c4ad +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1? +" + eda89148bdd5e0a11f99557cc5b0943b +2.8.3 +2.8.2 +2.8.1H +" + 0a703328e9f1bef59839282e04a977a6 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +" + c6f68feb31ea40e8d35a1bdbe672f354 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0 +" + d2c4f7d3876b83145cf4df68ce8a72ec +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0- +" + f974940d669a9198f5183b441e36981b +2.8.0- +" + 714b6bef9ce826ec0611a7ad579efae0 +2.2.2- +" + 1f0b461b6b441e43279fa7e6beeabc50 +2.3.0- +" + 033045ec62f60a11d68307d0965275eb +2.1.0- +" + 573b6e76f80c13565355cf423c51602a +2.2.3- +" + 2258108cb3c273c1abc8716d4f54fdc1 +2.2.1? +" + 99d6845a3a60e63c8890a4f93182425b +2.5.3 +2.5.2 +2.5.1? +" + 1daacbf407af4369f7770154d3b0174f +2.1.4 +2.1.3 +2.1.2H +" + 58d2c2ce24439ff4e80e9197751fbbee +2.2.5 +2.2.4 +2.2.3 +2.2.2Z +" + 493417b6d552d7505685c925a1370b8e +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3Z +" + f16e815edfddb662d578e5e413a9885a +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.06 +" + 4c585872f4045fb240844f8cd47199e0 +2.3.2 +2.3.1H +" + 6383020b3548e9cfcc82f1bf609a968b +2.8.3 +2.8.2 +2.8.1 +2.8.0H +" + 1e98719a524ce71c746517645b77aaa5 +2.1.0 +2.0.2 +2.0.1 +2.0.0 +" + 5660141a1160968edc60b0767cdd90d0 +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0l +" + 04eea7ad3395e96d6bd4a43e64048ac0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0Z +" + ad767bf5daa820f1aae5c70f3bfbda0d +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.06 +" + 4f79c5e47de4b2211a237034f72c63f3 +2.7.3 +2.7.2? +" + b4abc9bcc7974e25cb7090e05aa88fbe +2.6.2 +2.6.1 +2.6.0l +" + 4aec2a527a719fcacc739af5c1450129 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0- +" + f6c4565173addd0f0cfab9503bac98fe +2.6.3H +" + d3edf253616b51dec9371ba6c8c1946d +2.1.4 +2.1.3 +2.1.2 +2.1.1- +" + 256c8bbcf8bae1e2cdbec8ad34191ed9 +2.0.0- +" + 8ba30909b8da7afd74489c6d39499138 +2.3.0- +" + f2893426e1d9833d278285d1b4ab6f00 +2.7.06 +" + 3336a688f7fa86f866b7af782bd43276 +2.3.2 +2.3.16 +" + 818a6ccf142b1f46728ccc79106b30e3 +2.1.1 +2.1.0 +" + 589e24c189b18e7e92667246936513e1 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0H +" + 448454a92aefd52c3b8ed1941e669209 +2.6.3 +2.6.2 +2.6.1 +2.6.0- +" + 1c071388475e5d34319b4b6f456bec60 +2.5.06 +" + 89368864a978718689f72f1de3ee3bd9 +2.8.3 +2.8.2"C +8static/dist/airflowDefaultTheme.c19bf634a906347cf1a0.css +2.1.0" +2static/dist/materialIcons.f9559e4953177b8b9a4a.css +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4" +"static/appbuilder/js/ab_filters.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0" +5static/appbuilder/datepicker/bootstrap-datepicker.css +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"3 +(static/dist/main.d6649b884746315637be.js +2.3.3" +%static/appbuilder/js/jquery-latest.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"L +8static/dist/airflowDefaultTheme.fd803ddb438e3d518eb3.css +2.3.2 +2.3.1"< +(static/dist/main.0b3299d0b0db1076c096.js +2.3.2 +2.3.1"P +*static/dist/moment.805846635248ee428644.js +2.6.3 +2.6.2 +2.6.1 +2.6.0"O +)static/dist/main.c76c4a9850bda3fb5599.css +2.2.5 +2.2.4 +2.2.3 +2.2.2"3 +(static/dist/main.ec58b0ff6b26d248d142.js +2.5.1"G +*static/dist/moment.c61e3ab5bc7680097402.js +2.0.2 +2.0.1 +2.0.0"3 +(static/dist/main.9a020ab96cfff52e09fb.js +2.7.0"5 +*static/dist/flash.5adc3a4998ff394d2a3e.css +2.3.3"D +0static/dist/loadingDots.d58d573e7e3fd22bcfc6.css +2.3.2 +2.3.1"t +*static/dist/flash.39f43f5a4fffad4cd720.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0"j +2static/dist/materialIcons.542fbb9fa8b5a2ec811b.css +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0"F +2static/dist/materialIcons.7310810fa0ee22536071.css +2.3.2 +2.3.1"= +)static/dist/main.0b3299d0b0db1076c096.css +2.3.2 +2.3.1" +*static/appbuilder/css/font-awesome.min.css +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"b +*static/dist/flash.7fb10b5a80aea0a37122.css +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0"Q ++static/appbuilder/js/select2/select2.min.js +2.8.3 +2.8.2 +2.8.1 +2.8.0"4 +)static/dist/main.7c8f9340325b929761a0.css +2.1.0"3 +(static/dist/main.255b39340a749864c22a.js +2.5.0"N +(static/dist/main.c76c4a9850bda3fb5599.js +2.2.5 +2.2.4 +2.2.3 +2.2.2"X +2static/dist/materialIcons.087c3315826ce743dc8d.css +2.6.3 +2.6.2 +2.6.1 +2.6.0"= +2static/dist/materialIcons.b5be025c4c658382069b.css +2.3.3"O +)static/dist/main.e52cf607b64cdcd15089.css +2.1.4 +2.1.3 +2.1.2 +2.1.1" +'static/dist/bootstrap3-typeahead.min.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"G +*static/dist/flash.82c9e653b17d76b0b572.css +2.0.2 +2.0.1 +2.0.0" +0static/dist/loadingDots.5da42d00b5455806e709.css +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4"n +Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0" +'static/appbuilder/css/flags/flags16.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0" +%static/appbuilder/select2/select2.css +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"G +*static/dist/moment.c1933ee062e9650051f7.js +2.1.4 +2.1.3 +2.1.2"4 +)static/dist/main.1752c6e8005878f87b5e.css +2.3.4" +static/appbuilder/css/ab.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"5 +*static/dist/flash.d2167ed6d99f8d7833ef.css +2.1.0"4 +)static/dist/main.255b39340a749864c22a.css +2.5.0" +,static/dist/bootstrap-datetimepicker.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"; +0static/dist/loadingDots.37c7fd200eafd0c27df7.css +2.3.3"4 +)static/dist/main.7482f675ad7c97dc7702.css +2.6.3"E +(static/dist/main.527e9326c35043674708.js +2.6.2 +2.6.1 +2.6.0"? +confirm +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0"= +)static/dist/main.a02ab09a012af15327d8.css +2.0.2 +2.0.1"= +)static/dist/main.6f9728400381098372e3.css +2.8.3 +2.8.2"= +)static/dist/main.c6ddfe9182894d4d9d8d.css +2.2.1 +2.2.0"N +(static/dist/main.a53ccbaa4ca384c91837.js +2.4.3 +2.4.2 +2.4.1 +2.4.0"5 +*static/dist/moment.fad363e66ff398a6fbf3.js +2.3.0" +/static/appbuilder/css/fontawesome/solid.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0"= +)static/dist/main.4326607f6e6a434600a7.css +2.5.3 +2.5.2"4 +)static/dist/main.da956f078ba1725e3daf.css +2.3.0" +static/appbuilder/js/ab.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"3 +(static/dist/main.795f05be1714e3254570.js +2.7.1"k +Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js +2.8.3 +2.8.2 +2.8.1 +2.8.0" +5static/appbuilder/select2/select2-bootstrap-theme.css +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0"b +*static/dist/flash.2b1a873e0aabc828a165.css +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4"S +-static/appbuilder/css/select2/select2.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0"5 +*static/dist/moment.c42e4c391a00d2899c5c.js +2.3.3"] +7static/appbuilder/css/select2/select2-bootstrap.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0" ++static/dist/bootstrap-datetimepicker.min.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"5 +*static/dist/flash.abc94ba72cd821e27f31.css +2.3.0"^ +8static/dist/airflowDefaultTheme.3e8bda71892b61b62f94.css +2.1.4 +2.1.3 +2.1.2 +2.1.1"U +8static/dist/airflowDefaultTheme.42f8d9f03e53e5b06087.css +2.0.2 +2.0.1 +2.0.0" +2static/appbuilder/css/fontawesome/v4-shims.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0"; +0static/dist/loadingDots.4bccfb4c41b26eefcf1c.css +2.1.0"4 +)static/dist/main.d6649b884746315637be.css +2.3.3" +4static/appbuilder/datepicker/bootstrap-datepicker.js +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"O +)static/dist/main.a53ccbaa4ca384c91837.css +2.4.3 +2.4.2 +2.4.1 +2.4.0"N +(static/dist/main.e52cf607b64cdcd15089.js +2.1.4 +2.1.3 +2.1.2 +2.1.1"O +2static/dist/materialIcons.c86800f70eece0ad5c3e.css +2.0.2 +2.0.1 +2.0.0"< +(static/dist/main.a02ab09a012af15327d8.js +2.0.2 +2.0.1"P +*static/dist/flash.a58a9322159cd5cd08c3.css +2.6.3 +2.6.2 +2.6.1 +2.6.0"C +8static/dist/airflowDefaultTheme.c70a0986eb5cd4851faa.css +2.3.0"> +*static/dist/moment.e5f820b9b99df22a8206.js +2.3.2 +2.3.1"z +0static/dist/loadingDots.84963375c34df3f17aab.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0"E +(static/dist/main.bde72ea87585ebc44fe9.js +2.8.0 +2.7.3 +2.7.2"P +*static/dist/flash.d205b61edc54ed448412.css +2.1.4 +2.1.3 +2.1.2 +2.1.1"g +8static/dist/airflowDefaultTheme.731e57571b52cca4350d.css +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4" +1static/appbuilder/css/fontawesome/regular.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0"4 +)static/dist/main.9645e1e98ff7a669aff7.css +2.8.1"h +0static/dist/loadingDots.36f1f76c70002f18243a.css +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0"> +*static/dist/flash.e22a7e35f238b0bc744f.css +2.3.2 +2.3.1" +%static/appbuilder/js/bootstrap.min.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0" +8static/dist/airflowDefaultTheme.c93fb34380b84747e945.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0"5 +*static/dist/moment.dae03602a1cb62165b62.js +2.3.4"| +2static/dist/materialIcons.ce0f77d10d4dc51f5f07.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0"3 +(static/dist/main.1752c6e8005878f87b5e.js +2.3.4"^ +8static/dist/airflowDefaultTheme.9c52407a4b82b6d0a2da.css +2.6.3 +2.6.2 +2.6.1 +2.6.0"C +8static/dist/airflowDefaultTheme.d3d1b0809f936a6f2b56.css +2.3.3"M +0static/dist/loadingDots.f9d109f104217ec97cea.css +2.0.2 +2.0.1 +2.0.0"F +)static/dist/main.bde72ea87585ebc44fe9.css +2.8.0 +2.7.3 +2.7.2"t +*static/dist/moment.0fcb6b41ff6a87cf079e.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0"V +0static/dist/loadingDots.4033edd9abf2750d6f8f.css +2.1.4 +2.1.3 +2.1.2 +2.1.1"4 +)static/dist/main.ec58b0ff6b26d248d142.css +2.5.1" +0static/appbuilder/css/fontawesome/brands.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0" +"static/appbuilder/js/ab_actions.js +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"p +8static/dist/airflowDefaultTheme.ce329611a683ab0c05fd.css +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0"4 +)static/dist/main.9a020ab96cfff52e09fb.css +2.7.0"3 +(static/dist/main.da956f078ba1725e3daf.js +2.3.0" +5static/appbuilder/css/fontawesome/fontawesome.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0"; +0static/dist/loadingDots.1392f729dc9855a280a8.css +2.3.0"b +*static/dist/moment.26f1d838a0f59697623d.js +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0"3 +(static/dist/main.7c8f9340325b929761a0.js +2.1.0"F +)static/dist/main.527e9326c35043674708.css +2.6.2 +2.6.1 +2.6.0"= +2static/dist/materialIcons.4f9d67516ebe00c0bbb6.css +2.1.0"4 +)static/dist/main.559baa8766c31899215b.css +2.0.0"< +(static/dist/main.6f9728400381098372e3.js +2.8.3 +2.8.2"X +2static/dist/materialIcons.3221294eb511f43d1b15.css +2.1.4 +2.1.3 +2.1.2 +2.1.1"> +*static/dist/moment.1a09402fe354380806b9.js +2.1.1 +2.1.0"t +*static/dist/moment.197a6f3cab42e240f8bd.js +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0" +'static/appbuilder/css/bootstrap.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"3 +(static/dist/main.559baa8766c31899215b.js +2.0.0"3 +(static/dist/main.9645e1e98ff7a669aff7.js +2.8.1"< +(static/dist/main.4326607f6e6a434600a7.js +2.5.3 +2.5.2"< +(static/dist/main.c6ddfe9182894d4d9d8d.js +2.2.1 +2.2.0"^ +8static/dist/airflowDefaultTheme.a27149057fd893ed3d09.css +2.5.3 +2.5.2 +2.5.1 +2.5.0"G +*static/dist/flash.eb8d441e4edaecf40ce7.css +2.5.3 +2.5.2 +2.5.1" +$static/appbuilder/select2/select2.js +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"3 +(static/dist/main.7482f675ad7c97dc7702.js +2.6.3" +static/pin_32.png +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.7.3 +2.7.2 +2.7.1 +2.7.0 +2.6.3 +2.6.2 +2.6.1 +2.6.0 +2.5.3 +2.5.2 +2.5.1 +2.5.0 +2.4.3 +2.4.2 +2.4.1 +2.4.0 +2.3.4 +2.3.3 +2.3.2 +2.3.1 +2.3.0 +2.2.5 +2.2.4 +2.2.3 +2.2.2 +2.2.1 +2.2.0 +2.1.4 +2.1.3 +2.1.2 +2.1.1 +2.1.0 +2.0.2 +2.0.1 +2.0.0"4 +)static/dist/main.795f05be1714e3254570.css +2.7.1"= +2static/dist/materialIcons.e5d66b6b5f98c05254bf.css +2.3.0 \ No newline at end of file From a30535749117bd569e834269de19cd19964bad60 Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Thu, 4 Apr 2024 01:07:41 +0800 Subject: [PATCH 3/8] feat: update version and .binproto --- .../web/data/community/airflow.binproto | 351 +++++++++++------- 1 file changed, 207 insertions(+), 144 deletions(-) diff --git a/google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto b/google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto index efb945efe..1e7d453af 100644 --- a/google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto +++ b/google/fingerprinters/web/src/main/resources/fingerprinters/web/data/community/airflow.binproto @@ -72,12 +72,12 @@ *static/dist/flash.82c9e653b17d76b0b572.css" f25cdcdd43d8f815c82f22ceeadd76aaV 0static/dist/loadingDots.5da42d00b5455806e709.css" - 27bcf2a4eee3bdcfdb0b03f3ef79c4adn -Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css" - d91a504980d503f5a97e0f795bc7059eq + 27bcf2a4eee3bdcfdb0b03f3ef79c4adq 'static/appbuilder/css/flags/flags16.css" 163ceda19d640c9636e25216356212ad" - c0ed5753f6e056b261b63ee5c2fb6514o + c0ed5753f6e056b261b63ee5c2fb6514n +Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css" + d91a504980d503f5a97e0f795bc7059eo %static/appbuilder/select2/select2.css" e80f0fcf36346801eeda8509dcf54e5a" 8fc023ad64861b58b154089c33de2065P @@ -102,14 +102,15 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css" )static/dist/main.7482f675ad7c97dc7702.css" ad767bf5daa820f1aae5c70f3bfbda0dN (static/dist/main.527e9326c35043674708.js" - b4abc9bcc7974e25cb7090e05aa88fbe + b4abc9bcc7974e25cb7090e05aa88fbe confirm" - 64bb6c5e010709bd13782edddc0f3206" - cc5ba07f68ddce621b4a844d7c86df5e" - 573b6e76f80c13565355cf423c51602a" - 714b6bef9ce826ec0611a7ad579efae0" - 2258108cb3c273c1abc8716d4f54fdc1" - 883476f595c58d190ec6a4047de33530O + a61ed07273fe3e596ff8cd9a7425bd9c" + 39efa05dd63321d06fddcbd2917019d4" + 573fea78ca5fa359ccb095cfcfa0f916" + 7db6532c8680893f2f8e859c8e705a5e" + 53e33527c5b23bdbe8d8e601a886afc6" + 4d22cef9ed9c93232ebb0ca70eca3a2f" + ab7970dad1bdbaae28dc2fb71d3361daO )static/dist/main.a02ab09a012af15327d8.css" 2388345c822d79757b4ab5ee1f39d9c3O )static/dist/main.6f9728400381098372e3.css" @@ -283,13 +284,14 @@ $static/appbuilder/select2/select2.js" )static/dist/main.795f05be1714e3254570.css" ad767bf5daa820f1aae5c70f3bfbda0dX 2static/dist/materialIcons.e5d66b6b5f98c05254bf.css" - 6a5cf061713bc440a736368163188d76H + 6a5cf061713bc440a736368163188d76Q " ce524b7a84d22eaca558822c6b260687 2.8.3 2.8.2 2.8.1 -2.8.0 +2.8.0 +2.8.4 " 03527a0dc02ecb3dde68e0cc600157c9 2.5.3 @@ -338,24 +340,26 @@ $static/appbuilder/select2/select2.js" 2.6.3 2.6.2 2.6.1 -2.6.0H +2.6.0Q " 163ceda19d640c9636e25216356212ad 2.8.3 2.8.2 2.8.1 -2.8.0? +2.8.0 +2.8.4? " 8b2eef2d6a791b1955d27f4728aad10b 2.0.2 2.0.1 -2.0.0H +2.0.0Q " d91a504980d503f5a97e0f795bc7059e 2.8.3 2.8.2 2.8.1 -2.8.06 +2.8.0 +2.8.46 " 43cf951e92fc308700077fc04bb4d507 2.5.3 @@ -443,7 +447,7 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0 +2.0.0 " 5c8823187714a8cc3474782acf989c4a 2.8.3 @@ -457,7 +461,8 @@ $static/appbuilder/select2/select2.js" 2.6.3 2.6.2 2.6.1 -2.6.0 +2.6.0 +2.8.4 " c0ed5753f6e056b261b63ee5c2fb6514 2.7.3 @@ -494,16 +499,17 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0H +2.0.0Q " ad372c4e8b277cee9ffb5a342ab9618a 2.8.3 2.8.2 2.8.1 -2.8.0- +2.8.0 +2.8.4- " 737e69c48900d5757196304061957d7e -2.1.0 +2.1.0 " aac3da63f60267eac4ef43812790449d 2.8.3 @@ -544,7 +550,8 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0c +2.0.0 +2.8.4c " a8222f5cfec7f13c0d4fe26e88b452b0 2.1.3 @@ -704,13 +711,14 @@ $static/appbuilder/select2/select2.js" 2.0.0- " 43781e44ba946faa49fd925e223d1ce1 -2.3.3H +2.3.3Q " a4cf644a6a883f40a1f67fd17bc93017 2.8.3 2.8.2 2.8.1 -2.8.0- +2.8.0 +2.8.4- " a0af07dff99838db072173ba2a90c121 2.3.4u @@ -724,13 +732,17 @@ $static/appbuilder/select2/select2.js" 2.2.0 2.1.4 2.1.3 -2.1.2H +2.1.2Q " d078fa2acac80591b63741c6cddf0163 2.8.3 2.8.2 2.8.1 -2.8.0 +2.8.0 +2.8.4- +" + a61ed07273fe3e596ff8cd9a7425bd9c +2.2.5 " 35a9e0341e792d4639de43afa32ba78a 2.8.3 @@ -748,7 +760,8 @@ $static/appbuilder/select2/select2.js" 2.5.3 2.5.2 2.5.1 -2.5.0l +2.5.0 +2.8.4l " f2df63c28cde1d80b7171ea5c3ea50ce 2.7.3 @@ -776,31 +789,31 @@ $static/appbuilder/select2/select2.js" 2.2.3 2.2.2 2.2.1 -2.2.0H +2.2.0Q " - 8affbd9d23b61f3e78c748cf752d8fab + aa01b9bc0b765a8cb32d66b9d92c5bd8 2.8.3 2.8.2 2.8.1 -2.8.0H +2.8.0 +2.8.4Q " - aa01b9bc0b765a8cb32d66b9d92c5bd8 + 8affbd9d23b61f3e78c748cf752d8fab 2.8.3 2.8.2 2.8.1 -2.8.0H +2.8.0 +2.8.4Q " f86226b966de712b24d1772195fb9482 2.8.3 2.8.2 2.8.1 -2.8.0- +2.8.0 +2.8.4- " 3862b83990c3ecaaf9b8a8dd45f3fee9 -2.1.1- -" - 64bb6c5e010709bd13782edddc0f3206 -2.2.5l +2.1.1l " b764048d1982806cb753c798853c829d 2.7.3 @@ -814,13 +827,20 @@ $static/appbuilder/select2/select2.js" " 8eb9532b0b9bde86323cc7a21e07c370 2.3.4 -2.3.3H +2.3.3Q " a8469da629cb1fd1af9ef78e1751d796 2.8.3 2.8.2 2.8.1 -2.8.0 +2.8.0 +2.8.4- +" + 573fea78ca5fa359ccb095cfcfa0f916 +2.2.3- +" + 4d22cef9ed9c93232ebb0ca70eca3a2f +2.2.0 " 86c551b382867bf234b7b75fe0c8a74c 2.6.3 @@ -846,13 +866,14 @@ $static/appbuilder/select2/select2.js" 2.1.4- " 00b600a312f0d6342ea50bae1061e3f1 -2.5.1H +2.5.1Q " 383cd3a04454b72cb2ed7baaf3845ebc 2.8.3 2.8.2 2.8.1 -2.8.0 +2.8.0 +2.8.4 " 72a7f671a4f9e51d3256ea9ad9e3514f 2.7.3 @@ -896,6 +917,9 @@ $static/appbuilder/select2/select2.js" 2.0.2 2.0.1 2.0.0- +" + 53e33527c5b23bdbe8d8e601a886afc6 +2.2.1- " 06c544de1025c42f685b80896dfe615a 2.3.3c @@ -907,13 +931,14 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0H +2.0.0Q " aad12c6f56d7bb26d7cf25f8ddec911b 2.8.3 2.8.2 2.8.1 -2.8.0 +2.8.0 +2.8.4 " b3ecc15d7dfbea6143d342a262d6ea21 2.6.1 @@ -962,13 +987,14 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0H +2.0.0Q " 74144ee417aadc310d896041e6587e92 2.8.3 2.8.2 2.8.1 -2.8.0c +2.8.0 +2.8.4c " a6cf07e56ff0fdf9aef4972c82b5916b 2.7.3 @@ -977,35 +1003,34 @@ $static/appbuilder/select2/select2.js" 2.7.0 2.3.2 2.3.1 -2.3.0- -" - cc5ba07f68ddce621b4a844d7c86df5e -2.2.4H +2.3.0H " 35462396579d3bda4db6f79eb689d4db 2.1.0 2.0.2 2.0.1 -2.0.0H +2.0.0Q " d6de181c1ee3791ea45e3fbdf389fe55 2.8.3 2.8.2 2.8.1 -2.8.0Q +2.8.0 +2.8.4Q " aba90e2e1a3f359bf11241ff0983e01b 2.5.0 2.4.3 2.4.2 2.4.1 -2.4.0H +2.4.0Q " 01ecf28c115d206c6c14586b074671e5 2.8.3 2.8.2 2.8.1 -2.8.0l +2.8.0 +2.8.4l " e80f0fcf36346801eeda8509dcf54e5a 2.7.3 @@ -1020,7 +1045,7 @@ $static/appbuilder/select2/select2.js" aecfd839bc51ac88c092ac68f7375d20 2.5.3 2.5.2 -2.5.1 +2.5.1 " 290df06b00f38ac4b62000e181566917 2.8.3 @@ -1056,10 +1081,14 @@ $static/appbuilder/select2/select2.js" 2.2.0 2.1.4 2.1.3 -2.1.2- +2.1.2 +2.8.4- " 903e1ea197c2e5546fca258dad806048 -2.3.4 +2.3.4- +" + 7db6532c8680893f2f8e859c8e705a5e +2.2.2 " 31cf27939eac2ff81538e6514f3500f8 2.8.3 @@ -1100,7 +1129,8 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0H +2.0.0 +2.8.4H " 6036059bd0d6736469d7678989dde978 2.1.0 @@ -1132,15 +1162,12 @@ $static/appbuilder/select2/select2.js" 2.2.3 2.2.2 2.2.1 -2.2.0- -" - 883476f595c58d190ec6a4047de33530 2.2.0? " 2a36dc5b58c5b05ffb14214d54cb887f 2.3.2 2.3.1 -2.3.0 +2.3.0 " 6a5cf061713bc440a736368163188d76 2.8.3 @@ -1177,11 +1204,12 @@ $static/appbuilder/select2/select2.js" 2.1.4 2.1.3 2.1.2 -2.1.16 +2.1.1 +2.8.46 " 2388345c822d79757b4ab5ee1f39d9c3 2.0.2 -2.0.1 +2.0.1 " 90a7f3f8ce22fc33ddd2a1101642aa0b 2.8.3 @@ -1195,7 +1223,8 @@ $static/appbuilder/select2/select2.js" 2.6.3 2.6.2 2.6.1 -2.6.0H +2.6.0 +2.8.4H " 33531a4d086c6477be55a8820e4ddfb9 2.6.3 @@ -1216,13 +1245,14 @@ $static/appbuilder/select2/select2.js" 2.1.1- " 123b48df6cc249acb1a7aaacf50cba6c -2.7.0H +2.7.0Q " ec4db40dd9287b27e476b3817ade4179 2.8.3 2.8.2 2.8.1 -2.8.0 +2.8.0 +2.8.4 " 8c698c36f86b858e5edbd79bc1e9799c 2.8.3 @@ -1236,7 +1266,8 @@ $static/appbuilder/select2/select2.js" 2.6.3 2.6.2 2.6.1 -2.6.0 +2.6.0 +2.8.4 " 27bcf2a4eee3bdcfdb0b03f3ef79c4ad 2.8.3 @@ -1273,12 +1304,14 @@ $static/appbuilder/select2/select2.js" 2.1.4 2.1.3 2.1.2 -2.1.1? +2.1.1 +2.8.4H " eda89148bdd5e0a11f99557cc5b0943b 2.8.3 2.8.2 -2.8.1H +2.8.1 +2.8.4H " 0a703328e9f1bef59839282e04a977a6 2.1.4 @@ -1348,9 +1381,6 @@ $static/appbuilder/select2/select2.js" " f974940d669a9198f5183b441e36981b 2.8.0- -" - 714b6bef9ce826ec0611a7ad579efae0 -2.2.2- " 1f0b461b6b441e43279fa7e6beeabc50 2.3.0- @@ -1358,11 +1388,8 @@ $static/appbuilder/select2/select2.js" 033045ec62f60a11d68307d0965275eb 2.1.0- " - 573b6e76f80c13565355cf423c51602a -2.2.3- -" - 2258108cb3c273c1abc8716d4f54fdc1 -2.2.1? + ab7970dad1bdbaae28dc2fb71d3361da +2.8.4? " 99d6845a3a60e63c8890a4f93182425b 2.5.3 @@ -1398,19 +1425,20 @@ $static/appbuilder/select2/select2.js" " 4c585872f4045fb240844f8cd47199e0 2.3.2 -2.3.1H +2.3.1Q " 6383020b3548e9cfcc82f1bf609a968b 2.8.3 2.8.2 2.8.1 -2.8.0H +2.8.0 +2.8.4H " 1e98719a524ce71c746517645b77aaa5 2.1.0 2.0.2 2.0.1 -2.0.0 +2.0.0 " 5660141a1160968edc60b0767cdd90d0 2.8.3 @@ -1424,7 +1452,8 @@ $static/appbuilder/select2/select2.js" 2.6.3 2.6.2 2.6.1 -2.6.0l +2.6.0 +2.8.4l " 04eea7ad3395e96d6bd4a43e64048ac0 2.7.3 @@ -1471,6 +1500,9 @@ $static/appbuilder/select2/select2.js" 2.1.3 2.1.2 2.1.1- +" + 39efa05dd63321d06fddcbd2917019d4 +2.2.4- " 256c8bbcf8bae1e2cdbec8ad34191ed9 2.0.0- @@ -1525,11 +1557,12 @@ $static/appbuilder/select2/select2.js" 2.6.0- " 1c071388475e5d34319b4b6f456bec60 -2.5.06 +2.5.0? " 89368864a978718689f72f1de3ee3bd9 2.8.3 -2.8.2"C +2.8.2 +2.8.4"C 8static/dist/airflowDefaultTheme.c19bf634a906347cf1a0.css 2.1.0" 2static/dist/materialIcons.f9559e4953177b8b9a4a.css @@ -1541,7 +1574,7 @@ $static/appbuilder/select2/select2.js" 2.4.2 2.4.1 2.4.0 -2.3.4" +2.3.4" "static/appbuilder/js/ab_filters.js 2.8.3 2.8.2 @@ -1581,7 +1614,8 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0" +2.0.0 +2.8.4" 5static/appbuilder/datepicker/bootstrap-datepicker.css 2.7.3 2.7.2 @@ -1619,7 +1653,7 @@ $static/appbuilder/select2/select2.js" 2.0.1 2.0.0"3 (static/dist/main.d6649b884746315637be.js -2.3.3" +2.3.3" %static/appbuilder/js/jquery-latest.js 2.8.3 2.8.2 @@ -1659,7 +1693,8 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0"L +2.0.0 +2.8.4"L 8static/dist/airflowDefaultTheme.fd803ddb438e3d518eb3.css 2.3.2 2.3.1"< @@ -1688,7 +1723,7 @@ $static/appbuilder/select2/select2.js" 2.3.3"D 0static/dist/loadingDots.d58d573e7e3fd22bcfc6.css 2.3.2 -2.3.1"t +2.3.1"} *static/dist/flash.39f43f5a4fffad4cd720.css 2.8.3 2.8.2 @@ -1697,7 +1732,8 @@ $static/appbuilder/select2/select2.js" 2.7.3 2.7.2 2.7.1 -2.7.0"j +2.7.0 +2.8.4"j 2static/dist/materialIcons.542fbb9fa8b5a2ec811b.css 2.2.5 2.2.4 @@ -1745,12 +1781,13 @@ $static/appbuilder/select2/select2.js" 2.2.3 2.2.2 2.2.1 -2.2.0"Q +2.2.0"Z +static/appbuilder/js/select2/select2.min.js 2.8.3 2.8.2 2.8.1 -2.8.0"4 +2.8.0 +2.8.4"4 )static/dist/main.7c8f9340325b929761a0.css 2.1.0"3 (static/dist/main.255b39340a749864c22a.js @@ -1771,7 +1808,7 @@ $static/appbuilder/select2/select2.js" 2.1.4 2.1.3 2.1.2 -2.1.1" +2.1.1" 'static/dist/bootstrap3-typeahead.min.js 2.8.3 2.8.2 @@ -1811,7 +1848,8 @@ $static/appbuilder/select2/select2.js" 2.1.0 2.0.2 2.0.1 -2.0.0"G +2.0.0 +2.8.4"G *static/dist/flash.82c9e653b17d76b0b572.css 2.0.2 2.0.1 @@ -1829,12 +1867,7 @@ $static/appbuilder/select2/select2.js" 2.4.2 2.4.1 2.4.0 -2.3.4"n -Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css -2.8.3 -2.8.2 -2.8.1 -2.8.0" +2.3.4" 'static/appbuilder/css/flags/flags16.css 2.8.3 2.8.2 @@ -1874,7 +1907,14 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css 2.1.0 2.0.2 2.0.1 -2.0.0" +2.0.0 +2.8.4"w +Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css +2.8.3 +2.8.2 +2.8.1 +2.8.0 +2.8.4" %static/appbuilder/select2/select2.css 2.7.3 2.7.2 @@ -1916,7 +1956,7 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css 2.1.3 2.1.2"4 )static/dist/main.1752c6e8005878f87b5e.css -2.3.4" +2.3.4" static/appbuilder/css/ab.css 2.8.3 2.8.2 @@ -1956,11 +1996,12 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css 2.1.0 2.0.2 2.0.1 -2.0.0"5 +2.0.0 +2.8.4"5 *static/dist/flash.d2167ed6d99f8d7833ef.css 2.1.0"4 )static/dist/main.255b39340a749864c22a.css -2.5.0" +2.5.0" ,static/dist/bootstrap-datetimepicker.min.css 2.8.3 2.8.2 @@ -2000,7 +2041,8 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css 2.1.0 2.0.2 2.0.1 -2.0.0"; +2.0.0 +2.8.4"; 0static/dist/loadingDots.37c7fd200eafd0c27df7.css 2.3.3"4 )static/dist/main.7482f675ad7c97dc7702.css @@ -2008,20 +2050,22 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css (static/dist/main.527e9326c35043674708.js 2.6.2 2.6.1 -2.6.0"? +2.6.0"H confirm 2.2.5 2.2.4 2.2.3 2.2.2 2.2.1 -2.2.0"= +2.2.0 +2.8.4"= )static/dist/main.a02ab09a012af15327d8.css 2.0.2 -2.0.1"= +2.0.1"F )static/dist/main.6f9728400381098372e3.css 2.8.3 -2.8.2"= +2.8.2 +2.8.4"= )static/dist/main.c6ddfe9182894d4d9d8d.css 2.2.1 2.2.0"N @@ -2031,7 +2075,7 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css 2.4.1 2.4.0"5 *static/dist/moment.fad363e66ff398a6fbf3.js -2.3.0" +2.3.0" /static/appbuilder/css/fontawesome/solid.min.css 2.8.3 2.8.2 @@ -2044,12 +2088,13 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css 2.6.3 2.6.2 2.6.1 -2.6.0"= +2.6.0 +2.8.4"= )static/dist/main.4326607f6e6a434600a7.css 2.5.3 2.5.2"4 )static/dist/main.da956f078ba1725e3daf.css -2.3.0" +2.3.0" static/appbuilder/js/ab.js 2.8.3 2.8.2 @@ -2089,14 +2134,16 @@ Hstatic/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css 2.1.0 2.0.2 2.0.1 -2.0.0"3 +2.0.0 +2.8.4"3 (static/dist/main.795f05be1714e3254570.js -2.7.1"k +2.7.1"t Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.8.3 2.8.2 2.8.1 -2.8.0" +2.8.0 +2.8.4" 5static/appbuilder/select2/select2-bootstrap-theme.css 2.7.3 2.7.2 @@ -2112,19 +2159,21 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.4.2 2.4.1 2.4.0 -2.3.4"S +2.3.4"\ -static/appbuilder/css/select2/select2.min.css 2.8.3 2.8.2 2.8.1 -2.8.0"5 +2.8.0 +2.8.4"5 *static/dist/moment.c42e4c391a00d2899c5c.js -2.3.3"] +2.3.3"f 7static/appbuilder/css/select2/select2-bootstrap.min.css 2.8.3 2.8.2 2.8.1 -2.8.0" +2.8.0 +2.8.4" +static/dist/bootstrap-datetimepicker.min.js 2.8.3 2.8.2 @@ -2164,7 +2213,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.1.0 2.0.2 2.0.1 -2.0.0"5 +2.0.0 +2.8.4"5 *static/dist/flash.abc94ba72cd821e27f31.css 2.3.0"^ 8static/dist/airflowDefaultTheme.3e8bda71892b61b62f94.css @@ -2175,7 +2225,7 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 8static/dist/airflowDefaultTheme.42f8d9f03e53e5b06087.css 2.0.2 2.0.1 -2.0.0" +2.0.0" 2static/appbuilder/css/fontawesome/v4-shims.min.css 2.8.3 2.8.2 @@ -2188,7 +2238,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.6.3 2.6.2 2.6.1 -2.6.0"; +2.6.0 +2.8.4"; 0static/dist/loadingDots.4bccfb4c41b26eefcf1c.css 2.1.0"4 )static/dist/main.d6649b884746315637be.css @@ -2255,7 +2306,7 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.3.0"> *static/dist/moment.e5f820b9b99df22a8206.js 2.3.2 -2.3.1"z +2.3.1" 0static/dist/loadingDots.84963375c34df3f17aab.css 2.8.3 2.8.2 @@ -2264,7 +2315,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.7.3 2.7.2 2.7.1 -2.7.0"E +2.7.0 +2.8.4"E (static/dist/main.bde72ea87585ebc44fe9.js 2.8.0 2.7.3 @@ -2279,7 +2331,7 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.4.2 2.4.1 2.4.0 -2.3.4" +2.3.4" 1static/appbuilder/css/fontawesome/regular.min.css 2.8.3 2.8.2 @@ -2292,7 +2344,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.6.3 2.6.2 2.6.1 -2.6.0"4 +2.6.0 +2.8.4"4 )static/dist/main.9645e1e98ff7a669aff7.css 2.8.1"h 0static/dist/loadingDots.36f1f76c70002f18243a.css @@ -2304,7 +2357,7 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.2.0"> *static/dist/flash.e22a7e35f238b0bc744f.css 2.3.2 -2.3.1" +2.3.1" %static/appbuilder/js/bootstrap.min.js 2.8.3 2.8.2 @@ -2344,7 +2397,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.1.0 2.0.2 2.0.1 -2.0.0" +2.0.0 +2.8.4" 8static/dist/airflowDefaultTheme.c93fb34380b84747e945.css 2.8.3 2.8.2 @@ -2353,9 +2407,10 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.7.3 2.7.2 2.7.1 -2.7.0"5 +2.7.0 +2.8.4"5 *static/dist/moment.dae03602a1cb62165b62.js -2.3.4"| +2.3.4" 2static/dist/materialIcons.ce0f77d10d4dc51f5f07.css 2.8.3 2.8.2 @@ -2364,7 +2419,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.7.3 2.7.2 2.7.1 -2.7.0"3 +2.7.0 +2.8.4"3 (static/dist/main.1752c6e8005878f87b5e.js 2.3.4"^ 8static/dist/airflowDefaultTheme.9c52407a4b82b6d0a2da.css @@ -2381,7 +2437,7 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js )static/dist/main.bde72ea87585ebc44fe9.css 2.8.0 2.7.3 -2.7.2"t +2.7.2"} *static/dist/moment.0fcb6b41ff6a87cf079e.js 2.8.3 2.8.2 @@ -2390,14 +2446,15 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.7.3 2.7.2 2.7.1 -2.7.0"V +2.7.0 +2.8.4"V 0static/dist/loadingDots.4033edd9abf2750d6f8f.css 2.1.4 2.1.3 2.1.2 2.1.1"4 )static/dist/main.ec58b0ff6b26d248d142.css -2.5.1" +2.5.1" 0static/appbuilder/css/fontawesome/brands.min.css 2.8.3 2.8.2 @@ -2410,7 +2467,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.6.3 2.6.2 2.6.1 -2.6.0" +2.6.0 +2.8.4" "static/appbuilder/js/ab_actions.js 2.8.3 2.8.2 @@ -2450,7 +2508,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.1.0 2.0.2 2.0.1 -2.0.0"p +2.0.0 +2.8.4"p 8static/dist/airflowDefaultTheme.ce329611a683ab0c05fd.css 2.2.5 2.2.4 @@ -2461,7 +2520,7 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js )static/dist/main.9a020ab96cfff52e09fb.css 2.7.0"3 (static/dist/main.da956f078ba1725e3daf.js -2.3.0" +2.3.0" 5static/appbuilder/css/fontawesome/fontawesome.min.css 2.8.3 2.8.2 @@ -2474,7 +2533,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.6.3 2.6.2 2.6.1 -2.6.0"; +2.6.0 +2.8.4"; 0static/dist/loadingDots.1392f729dc9855a280a8.css 2.3.0"b *static/dist/moment.26f1d838a0f59697623d.js @@ -2493,10 +2553,11 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2static/dist/materialIcons.4f9d67516ebe00c0bbb6.css 2.1.0"4 )static/dist/main.559baa8766c31899215b.css -2.0.0"< +2.0.0"E (static/dist/main.6f9728400381098372e3.js 2.8.3 -2.8.2"X +2.8.2 +2.8.4"X 2static/dist/materialIcons.3221294eb511f43d1b15.css 2.1.4 2.1.3 @@ -2513,7 +2574,7 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.4.3 2.4.2 2.4.1 -2.4.0" +2.4.0" 'static/appbuilder/css/bootstrap.min.css 2.8.3 2.8.2 @@ -2553,7 +2614,8 @@ Estatic/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js 2.1.0 2.0.2 2.0.1 -2.0.0"3 +2.0.0 +2.8.4"3 (static/dist/main.559baa8766c31899215b.js 2.0.0"3 (static/dist/main.9645e1e98ff7a669aff7.js @@ -2610,7 +2672,7 @@ $static/appbuilder/select2/select2.js 2.0.1 2.0.0"3 (static/dist/main.7482f675ad7c97dc7702.js -2.6.3" +2.6.3" static/pin_32.png 2.8.3 2.8.2 @@ -2650,7 +2712,8 @@ $static/appbuilder/select2/select2.js 2.1.0 2.0.2 2.0.1 -2.0.0"4 +2.0.0 +2.8.4"4 )static/dist/main.795f05be1714e3254570.css 2.7.1"= 2static/dist/materialIcons.e5d66b6b5f98c05254bf.css From 4a6c780c54076ccd31f6d289046ce95a3fffa24f Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Thu, 4 Apr 2024 01:10:13 +0800 Subject: [PATCH 4/8] feat: update version and .binproto, fix error of no file --- .../scripts/updater/community/airflow/update.sh | 14 ++++++-------- .../scripts/updater/community/airflow/versions.txt | 1 + 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/update.sh b/google/fingerprinters/web/scripts/updater/community/airflow/update.sh index 23b01f01a..1b814d02e 100644 --- a/google/fingerprinters/web/scripts/updater/community/airflow/update.sh +++ b/google/fingerprinters/web/scripts/updater/community/airflow/update.sh @@ -24,7 +24,7 @@ PROJECT_ROOT="$(cd -- "${SCRIPT_PATH}/../../../.." >/dev/null 2>&1 ; pwd -P)" # Path to the configurations for starting a live instance of Airflow. APP_PATH="${SCRIPT_PATH}/app" # Path to the temporary data holder. -TMP_DATA="/root/airflow_fingerprints" +TMP_DATA="/tmp/airflow_fingerprints" # Path to the local git repository for Airflow codebase. GIT_REPO="${TMP_DATA}/repo" # Path to the directory of all the updated fingerprints data. @@ -32,7 +32,7 @@ FINGERPRINTS_PATH="${TMP_DATA}/fingerprints" # Json data of the final result. JSON_DATA="${FINGERPRINTS_PATH}/fingerprint.json" # Binary proto data of the final result. -BIN_DATA="${FINGERPRINTS_PATH}/fingerprint.binproto" +BIN_DATA="${FINGERPRINTS_PATH}/airflow.binproto" # Read all the versions to be fingerprinted. readarray -t ALL_VERSIONS < "${SCRIPT_PATH}/versions.txt" mkdir -p "${FINGERPRINTS_PATH}" @@ -40,15 +40,14 @@ mkdir -p "${FINGERPRINTS_PATH}" startAirflow() { local version="$1" pushd "${APP_PATH}" >/dev/null - # add COMPOSE_HTTP_TIMEOUT to avoid docker-compose errors - SOLR_VERSION="${version}" COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml up -d + COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml up -d popd >/dev/null } stopAirflow() { local version="$1" pushd "${APP_PATH}" >/dev/null - SOLR_VERSION="${version}" COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml down --volumes --remove-orphans + COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml down --volumes --remove-orphans popd >/dev/null } @@ -71,8 +70,9 @@ for version in "${ALL_VERSIONS[@]}"; do startAirflow "${version}" # Arbitrarily chosen so that Airflow is up and running. echo "Waiting for Airflow ${version} to be ready ..." - sleep 60 + sleep 60 # No need to do other installation process for Airflow. + touch ${FINGERPRINTS_PATH}/fingerprint.${version}.json # Checkout the repository to the correct tag. checkOutRepo "${GIT_REPO}" "${version}" @@ -92,5 +92,3 @@ convertFingerprint "${JSON_DATA}" "${BIN_DATA}" echo "Fingerprint updated for Airflow. Please commit the following file:" echo " ${BIN_DATA}" - - diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt b/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt index c30693872..70ef91b70 100644 --- a/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt +++ b/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt @@ -1,3 +1,4 @@ +2.8.4 2.8.3 2.8.2 2.8.1 From 1aafd261ea0c52336bd77a76183ccdc8adc6e4e0 Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Sat, 6 Apr 2024 10:56:26 +0800 Subject: [PATCH 5/8] fix: permission of airflow folders --- .../web/scripts/updater/community/airflow/update.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 google/fingerprinters/web/scripts/updater/community/airflow/update.sh diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/update.sh b/google/fingerprinters/web/scripts/updater/community/airflow/update.sh old mode 100644 new mode 100755 index 1b814d02e..a7ff42bd6 --- a/google/fingerprinters/web/scripts/updater/community/airflow/update.sh +++ b/google/fingerprinters/web/scripts/updater/community/airflow/update.sh @@ -40,14 +40,14 @@ mkdir -p "${FINGERPRINTS_PATH}" startAirflow() { local version="$1" pushd "${APP_PATH}" >/dev/null - COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml up -d + COMPOSE_HTTP_TIMEOUT=200 AIRFLOW_UID=65535 docker-compose -f airflow-${version}.yaml up -d popd >/dev/null } stopAirflow() { local version="$1" pushd "${APP_PATH}" >/dev/null - COMPOSE_HTTP_TIMEOUT=200 docker-compose -f airflow-${version}.yaml down --volumes --remove-orphans + COMPOSE_HTTP_TIMEOUT=200 AIRFLOW_UID=65535 docker-compose -f airflow-${version}.yaml down --volumes --remove-orphans popd >/dev/null } From 414e5ed99b8d4457b5d3b3c8fb5a0b6ede0e3388 Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Thu, 18 Apr 2024 12:25:20 +0800 Subject: [PATCH 6/8] Delete google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml --- .../community/airflow/app/airflow-2.8.3.yaml | 283 ------------------ 1 file changed, 283 deletions(-) delete mode 100644 google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml b/google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml deleted file mode 100644 index 461de6b43..000000000 --- a/google/fingerprinters/web/scripts/updater/community/airflow/app/airflow-2.8.3.yaml +++ /dev/null @@ -1,283 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -# Basic Airflow cluster configuration for CeleryExecutor with Redis and PostgreSQL. -# -# WARNING: This configuration is for local development. Do not use it in a production deployment. -# -# This configuration supports basic configuration using environment variables or an .env file -# The following variables are supported: -# -# AIRFLOW_IMAGE_NAME - Docker image name used to run Airflow. -# Default: apache/airflow:2.8.3 -# AIRFLOW_UID - User ID in Airflow containers -# Default: 50000 -# AIRFLOW_PROJ_DIR - Base path to which all the files will be volumed. -# Default: . -# Those configurations are useful mostly in case of standalone testing/running Airflow in test/try-out mode -# -# _AIRFLOW_WWW_USER_USERNAME - Username for the administrator account (if requested). -# Default: airflow -# _AIRFLOW_WWW_USER_PASSWORD - Password for the administrator account (if requested). -# Default: airflow -# _PIP_ADDITIONAL_REQUIREMENTS - Additional PIP requirements to add when starting all containers. -# Use this option ONLY for quick checks. Installing requirements at container -# startup is done EVERY TIME the service is started. -# A better way is to build a custom image or extend the official image -# as described in https://airflow.apache.org/docs/docker-stack/build.html. -# Default: '' -# -# Feel free to modify this file to suit your needs. ---- -x-airflow-common: - &airflow-common - # In order to add custom dependencies or upgrade provider packages you can use your extended image. - # Comment the image line, place your Dockerfile in the directory where you placed the docker-compose.yaml - # and uncomment the "build" line below, Then run `docker-compose build` to build the images. - image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.8.3} - # build: . - environment: - &airflow-common-env - AIRFLOW__CORE__EXECUTOR: CeleryExecutor - AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow - AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow - AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 - AIRFLOW__CORE__FERNET_KEY: '' - AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' - AIRFLOW__CORE__LOAD_EXAMPLES: 'true' - AIRFLOW__API__AUTH_BACKENDS: 'airflow.api.auth.backend.basic_auth,airflow.api.auth.backend.session' - # yamllint disable rule:line-length - # Use simple http server on scheduler for health checks - # See https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/check-health.html#scheduler-health-check-server - # yamllint enable rule:line-length - AIRFLOW__SCHEDULER__ENABLE_HEALTH_CHECK: 'true' - # WARNING: Use _PIP_ADDITIONAL_REQUIREMENTS option ONLY for a quick checks - # for other purpose (development, test and especially production usage) build/extend Airflow image. - _PIP_ADDITIONAL_REQUIREMENTS: ${_PIP_ADDITIONAL_REQUIREMENTS:-} - volumes: - - ${AIRFLOW_PROJ_DIR:-.}/dags:/opt/airflow/dags - - ${AIRFLOW_PROJ_DIR:-.}/logs:/opt/airflow/logs - - ${AIRFLOW_PROJ_DIR:-.}/config:/opt/airflow/config - - ${AIRFLOW_PROJ_DIR:-.}/plugins:/opt/airflow/plugins - user: "${AIRFLOW_UID:-50000}:0" - depends_on: - &airflow-common-depends-on - redis: - condition: service_healthy - postgres: - condition: service_healthy - -services: - postgres: - image: postgres:13 - environment: - POSTGRES_USER: airflow - POSTGRES_PASSWORD: airflow - POSTGRES_DB: airflow - volumes: - - postgres-db-volume:/var/lib/postgresql/data - healthcheck: - test: ["CMD", "pg_isready", "-U", "airflow"] - interval: 10s - retries: 5 - start_period: 5s - restart: always - - redis: - image: redis:latest - expose: - - 6379 - healthcheck: - test: ["CMD", "redis-cli", "ping"] - interval: 10s - timeout: 30s - retries: 50 - start_period: 30s - restart: always - - airflow-webserver: - <<: *airflow-common - command: webserver - ports: - - "8080:8080" - healthcheck: - test: ["CMD", "curl", "--fail", "http://localhost:8080/health"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 30s - restart: always - depends_on: - <<: *airflow-common-depends-on - airflow-init: - condition: service_completed_successfully - - airflow-scheduler: - <<: *airflow-common - command: scheduler - healthcheck: - test: ["CMD", "curl", "--fail", "http://localhost:8974/health"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 30s - restart: always - depends_on: - <<: *airflow-common-depends-on - airflow-init: - condition: service_completed_successfully - - airflow-worker: - <<: *airflow-common - command: celery worker - healthcheck: - # yamllint disable rule:line-length - test: - - "CMD-SHELL" - - 'celery --app airflow.providers.celery.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}" || celery --app airflow.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}"' - interval: 30s - timeout: 10s - retries: 5 - start_period: 30s - environment: - <<: *airflow-common-env - # Required to handle warm shutdown of the celery workers properly - # See https://airflow.apache.org/docs/docker-stack/entrypoint.html#signal-propagation - DUMB_INIT_SETSID: "0" - restart: always - depends_on: - <<: *airflow-common-depends-on - airflow-init: - condition: service_completed_successfully - - airflow-triggerer: - <<: *airflow-common - command: triggerer - healthcheck: - test: ["CMD-SHELL", 'airflow jobs check --job-type TriggererJob --hostname "$${HOSTNAME}"'] - interval: 30s - timeout: 10s - retries: 5 - start_period: 30s - restart: always - depends_on: - <<: *airflow-common-depends-on - airflow-init: - condition: service_completed_successfully - - airflow-init: - <<: *airflow-common - entrypoint: /bin/bash - # yamllint disable rule:line-length - command: - - -c - - | - if [[ -z "${AIRFLOW_UID}" ]]; then - echo - echo -e "\033[1;33mWARNING!!!: AIRFLOW_UID not set!\e[0m" - echo "If you are on Linux, you SHOULD follow the instructions below to set " - echo "AIRFLOW_UID environment variable, otherwise files will be owned by root." - echo "For other operating systems you can get rid of the warning with manually created .env file:" - echo " See: https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html#setting-the-right-airflow-user" - echo - fi - one_meg=1048576 - mem_available=$$(($$(getconf _PHYS_PAGES) * $$(getconf PAGE_SIZE) / one_meg)) - cpus_available=$$(grep -cE 'cpu[0-9]+' /proc/stat) - disk_available=$$(df / | tail -1 | awk '{print $$4}') - warning_resources="false" - if (( mem_available < 4000 )) ; then - echo - echo -e "\033[1;33mWARNING!!!: Not enough memory available for Docker.\e[0m" - echo "At least 4GB of memory required. You have $$(numfmt --to iec $$((mem_available * one_meg)))" - echo - warning_resources="true" - fi - if (( cpus_available < 2 )); then - echo - echo -e "\033[1;33mWARNING!!!: Not enough CPUS available for Docker.\e[0m" - echo "At least 2 CPUs recommended. You have $${cpus_available}" - echo - warning_resources="true" - fi - if (( disk_available < one_meg * 10 )); then - echo - echo -e "\033[1;33mWARNING!!!: Not enough Disk space available for Docker.\e[0m" - echo "At least 10 GBs recommended. You have $$(numfmt --to iec $$((disk_available * 1024 )))" - echo - warning_resources="true" - fi - if [[ $${warning_resources} == "true" ]]; then - echo - echo -e "\033[1;33mWARNING!!!: You have not enough resources to run Airflow (see above)!\e[0m" - echo "Please follow the instructions to increase amount of resources available:" - echo " https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html#before-you-begin" - echo - fi - mkdir -p /sources/logs /sources/dags /sources/plugins - chown -R "${AIRFLOW_UID}:0" /sources/{logs,dags,plugins} - exec /entrypoint airflow version - # yamllint enable rule:line-length - environment: - <<: *airflow-common-env - _AIRFLOW_DB_MIGRATE: 'true' - _AIRFLOW_WWW_USER_CREATE: 'true' - _AIRFLOW_WWW_USER_USERNAME: ${_AIRFLOW_WWW_USER_USERNAME:-airflow} - _AIRFLOW_WWW_USER_PASSWORD: ${_AIRFLOW_WWW_USER_PASSWORD:-airflow} - _PIP_ADDITIONAL_REQUIREMENTS: '' - user: "0:0" - volumes: - - ${AIRFLOW_PROJ_DIR:-.}:/sources - - airflow-cli: - <<: *airflow-common - profiles: - - debug - environment: - <<: *airflow-common-env - CONNECTION_CHECK_MAX_COUNT: "0" - # Workaround for entrypoint issue. See: https://github.com/apache/airflow/issues/16252 - command: - - bash - - -c - - airflow - - # You can enable flower by adding "--profile flower" option e.g. docker-compose --profile flower up - # or by explicitly targeted on the command line e.g. docker-compose up flower. - # See: https://docs.docker.com/compose/profiles/ - flower: - <<: *airflow-common - command: celery flower - profiles: - - flower - ports: - - "5555:5555" - healthcheck: - test: ["CMD", "curl", "--fail", "http://localhost:5555/"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 30s - restart: always - depends_on: - <<: *airflow-common-depends-on - airflow-init: - condition: service_completed_successfully - -volumes: - postgres-db-volume: From f645b2f516a4216091a1c06596637f6a23f41ab0 Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Thu, 18 Apr 2024 12:26:22 +0800 Subject: [PATCH 7/8] Create docker-compose.yaml --- .../scripts/updater/community/airflow/app/docker-compose.yaml | 1 + 1 file changed, 1 insertion(+) create mode 100644 google/fingerprinters/web/scripts/updater/community/airflow/app/docker-compose.yaml diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/app/docker-compose.yaml b/google/fingerprinters/web/scripts/updater/community/airflow/app/docker-compose.yaml new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/google/fingerprinters/web/scripts/updater/community/airflow/app/docker-compose.yaml @@ -0,0 +1 @@ + From 49759d145980cce1a302301e8c2df540d4d1c402 Mon Sep 17 00:00:00 2001 From: W0ngL1 <148697527+W0ngL1@users.noreply.github.com> Date: Sat, 20 Apr 2024 08:48:55 +0800 Subject: [PATCH 8/8] change airflow directory filemode to 755 --- .../web/scripts/updater/community/airflow/app/docker-compose.yaml | 0 .../web/scripts/updater/community/airflow/versions.txt | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 google/fingerprinters/web/scripts/updater/community/airflow/app/docker-compose.yaml mode change 100644 => 100755 google/fingerprinters/web/scripts/updater/community/airflow/versions.txt diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/app/docker-compose.yaml b/google/fingerprinters/web/scripts/updater/community/airflow/app/docker-compose.yaml old mode 100644 new mode 100755 diff --git a/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt b/google/fingerprinters/web/scripts/updater/community/airflow/versions.txt old mode 100644 new mode 100755